1
現在、私のPHPスクリプトが現在動作していない理由をデバッグしようとしています。基本的には、エンドユーザーが新しいグループ名を作成し、2つの異なるファイルのうちの1つをアップロードするオプションを持つWebフォームがあります。html + phpアップロードフォームがファイルをアップロードしていません
HTML:
<form method="post" action="/php/create.php" enctype="multipart/form-data">
<div class="form-group">
<label for="customerName">Customer Name:</label>
<input type="text" class="form-control" id="foldername" name="foldername" placeholder="Customer Name">
</div>
<div class="form-group">
<label for="healthCheckOutput">HealthCheck Results</label>
<input type="file" id="healthCheckFile">
</div>
<div class="form-group">
<label for="SANUpload">Appliance Data</label>
<input type="file" id="SANUpload" name="SANUpload">
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
PHP:PHPから
<?php
ini_set('display_errors',1);
error_reporting(E_ALL|E_STRICT);
//Create Customer Folder
$folder = $_POST['foldername'];
$dirPath = '../customers/'.$folder;
if (!mkdir($dirPath, 0750, true)) {
die('Failed to create customer folders...current customer name already exists');
}
//Upload the file and move it to the correct folders for processing
//$target_dir = "/uploads/";
//$target_file = $target_dir . basename($_FILES["SANUpload"]["name"])
$uploaddir = "uploads/";
$uploadfile = $uploaddir . basename($_FILES['SANUpload']['name']);
echo '<pre>';
if (move_uploaded_file($_FILES['SANUpload']['tmp_name'], $uploadfile)){
echo "Success.\n";
} else {
echo "Failure.\n";
}
echo 'Here is some more debugging info:';
print_r($_FILES);
print "</pre>";
?>
デバッグ:
Warning: move_uploaded_file(uploads/test2.csv): failed to open stream: No such file or directory in /var/www/html/php/create.php on line 26
Warning: move_uploaded_file(): Unable to move '/tmp/php8E2y8j' to 'uploads/test2.csv' in /var/www/html/php/create.php on line 26
Failure.
Here is some more debugging info:Array
(
[SANUpload] => Array
(
[name] => test2.csv
[type] => text/csv
[tmp_name] => /tmp/php8E2y8j
[error] => 0
[size] => 58242
)
)
私は致しておりませんことをその何か簡単な確信しています。これは、公開アプリケーションではなく、小さなローカルホスト仮想アプライアンスであることに注意してください。
は、すでに 'uploads'ディレクトリが存在しないことを訴えています –
作成したいくつかのフォルダにファイルをアップロードしてみてください。 'uploads'ディレクトリは、スクリプトを含むフォルダのサブディレクトリですか、それとも別の場所ですか?完全なパスを使用してみてください。 – Barmar
そのルートの下にあるフォルダ。私は完全なパスを入れても、私はまだそのエラーを取得します。私はそれを試して移動することができます。 @Barmarポイントにはファイルが存在し、そこに存在し、書き込み可能です - スクリプトがそれを検出していません。私は何が欠けているのか理解できませんでした。 – Jared