私は自分のファイルをアップロードするには、次のコードを使用しています:PHPのtemp_nameとmove_uploaded_fileエラー
<?php include("./phpincludes/header.inc.php");
$status = "";
if(@$_POST['submit']){
$pic = @$_FILES['pic']['name'];
$pic_temp = @$_FILES['pic']['tmp_name'];
$pic_type = @$_FILES['pic']['type'];
$pic_size = @$_FILES['pic']['size'];
$doc1 = @$_FILES['doc1']['name'];
$doc1_temp = @$_FILES['doc1']['tmp_name'];
$doc1_type = @$_FILES['doc1']['type'];
$doc1_size = @$_FILES['doc1']['size'];
$doc2 = @$_FILES['doc2']['name'];
$doc2_temp = @$_FILES['doc2']['tmp_name'];
$doc2_type = @$_FILES['doc2']['type'];
$doc2_size = @$_FILES['doc2']['size'];
$name = stripcslashes(htmlspecialchars(urldecode($_POST['name'])));
$phone1 = stripcslashes(htmlspecialchars(urldecode($_POST['phone1'])));
$phone2 = stripcslashes(htmlspecialchars(urldecode($_POST['phone2'])));
$address = stripcslashes(htmlspecialchars(urldecode($_POST['address'])));
$sec = stripcslashes(htmlspecialchars(urldecode($_POST['sec_amount'])));
if($name != ""){
if($pic_size <= 1048576){
if (!$pic_temp) { // if file not chosen
echo "ERROR: Please browse for a file before clicking the upload button. ".$pic_temp;
}
$chars = "abcdefghijklmnopqrstuvrstwxyzABCDEFGHIJKLMNOPQRSTUVWXWZ";
$rand_dir_name = $name." ".substr(str_shuffle($chars), 0, 6);
mkdir("uploads/vendors/$rand_dir_name");
move_uploaded_file($doc1_temp, "uploads/vendors/$rand_dir_name/$doc1");
move_uploaded_file($doc2_temp, "uploads/vendors/$rand_dir_name/$doc2");
if(move_uploaded_file($pic_temp, "uploads/vendors/$rand_dir_name/$pic")){
echo "uploads/vendors/$rand_dir_name/$pic";
} else {
echo "move_uploaded_file function failed";
}
}else{
echo "Image size should be less than 1 MB!";
}
}else{
echo "Name is neccassary!";
}
}
?>
が、問題は、ファイル「ERRORをアップロードしながら、それは私にエラーを与えることである:アップロードをクリックする前に、ファイルを参照してください。ボタン。'と 'move_uploaded_file関数が失敗しました'。私はその問題はファイルの前に@だと思うが、私がそれを削除すると、私に未定義のインデックスのエラーが出る。
私のHTMLフォーム: -
<form method='POST' name='form'>
<td><h4>Photo:</h4><input type='file' name='pic' accept="image/gif, image/jpeg, image/png"><h4>Full Name:</h4><input class='tableinput' type='text' placeholder='Name' name='name'></td>
<td><h4>Phone 1:</h4><input class='tableinput' type='text' placeholder='Phone' name='phone1'>
<h4>Phone 2:</h4><input class='tableinput' type='text' placeholder='Phone' name='phone2'></td>
<td>
<h4>Document 1:</h4>
<input type='file' name='doc1'>
<h4>Document 2:</h4>
<input type='file' name='doc2'>
</td>
<td><h4>Service:</h4><input class='tableinput' type='text' placeholder='Service' name='services'>
<h4>Address:</h4><input class='tableinput' type='text' placeholder='Address' name='address'></td>
<td> <input class='tableinput' type='text' placeholder='Sercurity Amount' name='sec_amount'></td>
<td >
<input type='submit' id='submit' name='submit' style='display:none;'/>
<i class='glyphicon glyphicon-ok-sign tableglyp blue' aria-hidden='true' onclick='submit()'>
</i>
</td>
</form>
助けてください!
@観点からのエラー/警告を抑制。 '$ _FILES'のように見えるかもしれません。 '$ _FILES'の値が得られるかどうか確認してください。 'var_dump'または' print_r'を使用して – Thamaraiselvam
あなたのフォームを見てください。 – Rasclatt
@Rasclatt投稿に私のhtmlフォームを表示してください。 – Zicsus