私は、フォルダに画像をアップロードするPHPスクリプトを持っています。PHP通知:未定義インデックス:ファイルアップロード写真
それはローカルで作業しているが、私はホストしているサーバー上に置いたときに、私は次のようなエラーメッセージが出ます:
を[木曜5月18日21:45:00.833970 2017]:[[fcgid警告] PID 37560 ]クライアント[ 151.229.83.93:44238] mod_fcgid:stderr:PHP Notice:未定義のインデックス: のファイル/home/linnas01/g/domainname.com/user/htdocs/php/uploadphoto.php の9行目referer: http://domainname.com/photoupload.html
これはなぜ起こっているのか、これを修正する方法は誰でも説明できますか?
PHPは私のhtmlファイルがこの
<form enctype="multipart/form-data">
<input id="upload-input" type="file" name="file" multiple="multiple" enctype="multipart/form-data">
<input type="submit">
</form>
ファイルをAjaxで掲載されますように見えます。この
<?php
if (0 < $_FILES['file']['error']) {
echo 'Error: ' . $_FILES['file']['error'] . '<br>';
}
else {
move_uploaded_file($_FILES['file']['tmp_name'], 'images/' . $_FILES['file']['name']);
}
?>
のように見えます。
var formData = new FormData();
for (var i = 0; i < files.length; i++) {
var file = files[i];
fileNames.push(file.name);
// add the files to formData object for the data payload
formData.append("image", file);
}
$.ajax({
url: 'uploadphoto.php',
type: 'POST',
data: formData,
processData: false,
contentType: false,
success: function(data){
console.log(data);
}
});
I have also configured the directories and files as explained here。
[PHP: "注意:未定義の変数"、 "注意:未定義のインデックス"、および "注意:オフセット未定義"]の可能な重複(http://stackoverflow.com/questions/4261133/php-notice -undefined-variable-notice-undefined-index-and-notice-undef) – Bytewave
tl; drあなたは 'name'属性' file'を持つファイルフィールドを 'POST'することは何もありません。あなたのフォームがどのように見えているか分かっていれば、私たちはもっと助けることができました。 – Bytewave
'$ _FILES ['file']'が使用される前に、それが入力されていることを確認してください。 – chris85