jQuery提交表单和php
问题描述:
我正在做一个上传表单,并选择使用jQuery来做到这一点。该文件被上传,但不是所需的文件夹,所以即时通讯不会正确解析从上传表单到流程的数据。jQuery提交表单和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没有设置?
答
传递给脚本的参数似乎不正确。你没有指定正在使用的确切的jQuery插件,所以下面的例子可能不起作用,但如果是这样,它应该至少给你一个关于在插件文档中寻找什么的好建议
请删除线
galleryName: "<?php echo $gallery->folder; ?>",
并与线
enctype: "multipart/form-data", // Upload Form enctype.
formData: { galleryName: "<?php echo $gallery->folder; ?>" },
+0
谢谢!这做了诀窍:)如果有人想知道我使用:http://hayageek.com/jquery-multiple-file-upload/ – Kingfox
代替'$ gallery-> folder'有一个有效的值,当你运行该代码? –
是的,我在这里打印了提供的代码之上的值,所以对象$ gallery->文件夹中有一个实际值。 – Kingfox
什么是uploadFile()?一些jquery插件?可能是“galleryName”不是该功能所认可的值,也不是发送到服务器。我的猜测是,如果它是一个插件,可能你必须使用另一个键名来添加自定义数据。 –