[英]xmlhttprequest request sent, but code not executed?
因此,我使用的是我在WWW上下載的jQuery Upload-Script。
這是我的JavaScript代碼:
$(document).ready(function()
{
var settings = {
url: "upload.php",
method: "POST",
allowedTypes:"pdf,xls,doc,docx,xlsx",
fileName: "name",
multiple: true,
onSuccess:function(files,data,xhr)
{
$("#status").html("<font color='green'>Upload is successed</font>");
},
onError: function(files,status,errMsg)
{
$("#status").html("<font color='red'>Upload is failed: " + errMsg + "</font>");
},
showDelete:true,
deleteCallback: function(data,pd)
{
for(var i=0;i<data.length;i++)
{
$.post("delete.php",{op:"delete",name:data[i]},
function(resp, textStatus, jqXHR)
{
//Show Message
$("#status").html("<font color='red'>File deleted.</font>");
});
}
pd.statusbar.hide(); //You choice to hide/not.
}
};
$("#mulitplefileuploader").uploadFile(settings);
});
這是我的“ upload.php”:
<?php
include_once("_assets/_pages/db.php");
$output_dir = "_files/";
if(isset($_FILES["myfile"]))
{
$ret = array();
$error = $_FILES["myfile"]["error"];
//You need to handle both cases
//If Any browser does not support serializing of multiple files using FormData()
if(!is_array($_FILES["myfile"]["name"])) //single file
{
$fileName = $_FILES["myfile"]["name"];
move_uploaded_file($_FILES["myfile"]["tmp_name"],$output_dir.$fileName);
$ret[]= $fileName;
$sql = 'INSERT INTO `Files` (FileName, UploadDate, DownloadCount) VALUES ($filename, CURRENT_TIMESTAMP, 0)';
$db->query($sql);
}
else //Multiple files, file[]
{
$fileCount = count($_FILES["myfile"]["name"]);
for($i=0; $i < $fileCount; $i++)
{
$fileName = $_FILES["myfile"]["name"][$i];
move_uploaded_file($_FILES["myfile"]["tmp_name"][$i],$output_dir.$fileName);
$ret[]= $fileName;
$sql = 'INSERT INTO `Files` (FileName, UploadDate, DownloadCount) VALUES ($filename, CURRENT_TIMESTAMP, 0)';
$db->query($sql);
}
}
echo json_encode($ret);
}
?>
我的upload.php沒有將文件放入“ _files /”,也沒有在我的數據庫中插入任何內容? 我究竟做錯了什么?
另一個問題:您是否建議其他設計良好(對引導程序友好)的jQuery File-Upload處理程序?
我想,如果沒有文件顯示,則您的enctype="multipart/form-data"
可能缺少enctype="multipart/form-data"
。
PHP正在尋找isset($ _ FILES [“ myfile”]),但是,您從未在JS中定義任何名為“ myfile”的東西。 我的猜測是您的if(isset())被完全跳過,沒有錯誤,狀態為200 OK。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.