HTML、JavaScript、およびPHPを使用してファイルをWebサーバーにアップロードしたいとします。ファイルをアップロードする際のJQueryエラー
私のHTMLは次のようになります。私は、アップロードしたファイルを提出するだけで一つのボタンを使用する必要があるため
<form method="post" enctype="multipart/form-data" name="uploadForm">
<input type="file" name="uploadFile" onchange="uploadplz();">
<!-- <input type="submit" name="upload_submit" value="Upload"> -->
</form>
送信ボタンがコメントアウトされています。 JavaScript関数を呼び出すonchange
属性があります。 JavaScript関数は、AJAX呼び出しを使用してPHP関数を呼び出します。
私はJavaScript/AJAXは、次のようになります。
<script type="text/javascript">
function uploadplz() {
$.ajax({
type: "POST",
url: "file.php",
data: "uploadForm",
success: function(response) {
alert(response);
}
});
}
</script>
PHPのISSETは次のようになります。
if(isset($_POST["uploadForm"])) {
upload_file();
}
PHP関数は次のようになります。
function upload_file() {
$dir = "files/";
$target_file = $dir.basename($_FILES["uploadFile"]["name"]);
echo $target_file."</br>";
if(move_uploaded_file($_FILES["uploadFile"]["tmp_name"], $target_file)) {
echo $target_file." uploaded successfully.</br>";
} else {
echo "Error uploading</br>";
}
}
2つのボタンを使用して、 PHPは正常に動作します。すなわち、ファイルをアップロードします。ボタンを1つ使用しようとしたときにAJAXが間違っていると仮定しています。 PHP関数はError uploading
メッセージと空のファイル名を返します。
提案がありますか?