Итак, я использую jQuery Upload-Script, который я загрузил на WWW.Запрос xmlhttprequest отправлен, но код не выполнен?
Это мой код 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 обработчики загрузки файлов?
Любые ошибки JS в консоли браузера? Что возвращает PHP? –
Нет ошибок JS, «Network» сообщает мне, что был хороший (код: 200) conendction для моего upload.php. Файлы теперь загружаются smh, но ничего не хранится в моем db ... – PoTTii
Да, код - 200, но каков фактический отклик PHP? Смысл, данные вернулись? PHP ищет 'isset ($ _ FILES [" myfile "])', однако вы никогда не определяете что-либо с именем 'myfile' в вашей JS. Я предполагаю, что ваш 'if (isset())' просто пропущен, никаких ошибок, статус 200 OK. –