我正在使用php mysql开发一个Web应用程序。这里,要求说,用户应该能够一次上传多个文件,将它们存储在服务器上。目前我可以使用这个上传一个文件,
$(function(){
var btnUpload=$("#uploadPdf");
new AjaxUpload(btnUpload, {
action:"uploadPdf.php",
name: "uploadCertPdf",
onSubmit: function(file, ext){
if (!(ext && /^(pdf)$/.test(ext))){
alert("Upload File (Supports PDF formats only)");
return false;
}
var stats = $("#resultsOuter");
stats.html('<img src="images/layout/preloader-2.png" />');
},
onComplete: function(file, response){
alert(response);
alert("File uploaded successfully");
window.location="somePage.php";
}
})
});
/**somePage.php file**/
if (isset($_FILES["uploadCertPdf"]))
{
if ($_FILES["uploadCertPdf"]["error"] > 0)
{
echo "Error: " . $_FILES["uploadCertPdf"]["error"] . "<br />";
}
else
{
if(!is_dir($_SERVER['DOCUMENT_ROOT']."admin/pdf/"))
{ echo "not found";
mkdir($_SERVER['DOCUMENT_ROOT']."admin/pdf/", 0777,true);
}
if(file_exists($file))
{ echo "duplicate";
$flag = TRUE;
}
else
{
$uploaddir = '/admin/pdf/';
$uploadfile = $uploaddir . basename($_FILES['uploadCertPdf']['name']);
$path_info = pathinfo($_FILES['uploadCertPdf']['name']);
$type= $path_info['extension'];
if($type == 'pdf')
{
$flag = move_uploaded_file($_FILES['uploadCertPdf']['tmp_name'],$uploadfile);
}else{
echo "You can upload only PDF files";
}
}
}
}
如何自定义它以一次上传多个文件?我尝试搜索,但所有插件都被自定义为使用某些用户界面,即它们有自己独立的模块和功能。
因此,我们将不胜感激。感谢您的宝贵时间。
编辑:我正在添加动态创建文件输入的 ajax 上传器功能。
/**
* Creates invisible file input above the button
**/
_createInput : function(){
var self = this;
var input = d.createElement("input");
input.setAttribute('type', 'file');
input.setAttribute('name', this._settings.name);
input.setAttribute('id', 'file'+this._settings.name);
var styles = {
'position' : 'absolute'
,'margin': '-5px 0 0 -175px'
,'padding': 0
,'width': '220px'
,'height': '30px'
,'fontSize': '14px'
,'opacity': 0
,'cursor': 'pointer'
,'display' : 'none'
,'zIndex' : 2147483583 //Max zIndex supported by Opera 9.0-9.2x 2147483583
// Strange, I expected 2147483647
};
我尝试通过向 name 属性添加一个数组,但没有奏效。