私はアップロードフォームを作成しており、これをjQueryで行うことを選択しました。ファイルはアップロードされますが、目的のフォルダにはアップロードされないため、アップロードフォームからプロセスに正しいデータを解析しません。jQuery submit form and php
upload.php
<script>
$(document).ready(function()
{
var settings = {
url: "upload_process.php",
method: "POST",
allowedTypes:"jpg,jpeg,png",
fileName: "myfile",
galleryName: "<?php echo $gallery->folder; ?>",
multiple: true,
onSuccess:function(files,data,xhr)
{
$("#status").html("<font color='green'>Upload is success</font>");
},
onError: function(files,status,errMsg)
{
$("#status").html("<font color='red'>Upload is Failed</font>");
}
}
$("#mulitplefileuploader").uploadFile(settings);
});
</script>
upload_process.php
$galleryName = $_POST["galleryName"];
$output_dir = "media/images/".$galleryName."/";
if(isset($_FILES["myfile"])) {
$ret = array();
$error = $_FILES["myfile"]["error"];
{
/* Single File */
if(!is_array($_FILES["myfile"]['name'])) {
$fileName = $_FILES["myfile"]["name"];
move_uploaded_file($_FILES["myfile"]["tmp_name"], $output_dir . $_FILES["myfile"]["name"]);
$ret[$fileName] = $output_dir.$fileName;
/* Multiple files */
} else {
$fileCount = count($_FILES["myfile"]['name']);
for($i=0; $i < $fileCount; $i++) {
$fileName = $_FILES["myfile"]["name"][$i];
$ret[$fileName] = $output_dir.$fileName;
move_uploaded_file($_FILES["myfile"]["tmp_name"][$i],$output_dir.$fileName);
}
}
}
echo json_encode($ret);
}
ファイルは、メディア/画像にアップロードされて/と$ galleryNameが設定されていない理由を見ることができませんか?
'$ギャラリー - > folder'と交換して、有効な値を持っていますか? –
はい、私はここに提供されたコードの上にある値を出力しました。したがって、オブジェクト$ gallery->フォルダに実際の値があります。 – Kingfox
uploadFile()は何ですか?いくつかのjqueryプラグイン? "galleryName"はその関数によって認識された値ではなく、サーバーに送信されない可能性があります。おそらく、別のキー名を使用してカスタムデータを追加する必要があります。 –