私はphp mysql.Hereで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 属性に配列を追加してみましたが、うまくいきませんでした。