我想使用HTML,JavaScript和PHP将文件上传到Web服务器。
我的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工作正常,即上传文件。我在尝试使用一个按钮时假设我的AJAX错误。 PHP函数返回Error uploading
消息和空白文件名。
有什么建议吗?
答案 0 :(得分:1)
您只上传字符串SELECT tsearch.description
,tcompany.CompanyName
,tsearch.CompanyGUID
,tgenie.GenieNotes
,tGenieType.GenieType
FROM tcompany
JOIN tsearch
ON tcompany.SomeID = tsearch.SomeID
JOIN tGenieType
ON tcompany.SomexID = tGenieType.SomexID
LEFT JOIN tGenie
ON tgenie.GenieTypeGUID = tGenieType.GUID
而非"uploadForm"
对象。使用File
上传FormData()
,请参阅jQuery Ajax File Upload
<form>