AjaxFileUpload 插件不检索 $_POST 或 $_FILES 数据
好的,我希望这是我关于动态文件上传的一系列问题中的最后一个问题.
Ok, I hope this will be my last question in a series of Q's regarding dynamic file upload.
我正在使用 AjaxFileUpload Plugin 并尝试使用 FORM 数据在我的 uploader.php 中.问题是 $_POST
和 $_FILES
都是 NULL.
I'm using AjaxFileUpload Plugin and try to work with the FORM data in my uploader.php. The problem is that both $_POST
and $_FILES
is NULL.
这是我的 HTML 代码:
This is my HTML code:
<form id="uploadForm" enctype="multipart/form-data" action="" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
<input type="hidden" name="current_path" value="<?php echo $fb->relative_url; ?>" />
<input id="uploadFile" name="uploadFile" type="file" />
<input type="button" class="button uploadImage" value="<?php _e('Upload File') ?>" /> <br />
</form>
这是我的 JS 脚本:
And this is my JS script:
//File upload
jQuery('.uploadImage').live('click',function() {
ajaxFileUpload();
});
(...)
function ajaxFileUpload() {
jQuery.ajaxFileUpload ( {
url:'../wp-content/plugins/wp-filebrowser/uploader.php',
secureuri:false,
fileElementId:'uploadFile',
dataType: 'json',
success: function (data, status) {
alert('Error: ' + data.error + ' - Respons: ' + data.respons)
},
error: function (data, status, e) {
alert('Error: ' + e);
}
}
)
return false;
}
为了测试我的数据是否提交,我有以下 PHP 代码:
To test that I data is submited, I have the following PHP code:
$data['error'] = $_POST['current_path']; // Gives me NULL
$data['respons'] = $_FILES['uploadFile']['name']; // Gives me NULL
// Return result in json
echo json_encode($data);
更新
在 Pekka 的大力帮助下(他的眼睛很好),我已经成功了!代码已更新为正确的代码.
After very good help from Pekka (with his good set of eyes), I have got it working! The code is updated with the correct code.
推荐答案
你正在分配
fileElementId:'uploadFile',
但您的文件字段实际上没有该 ID.
but your file field doesn't in fact have that ID.
你的 PHP 脚本应该在
And your PHP script should look in
$_FILES["uploadFile"]["name"]
相关文章