Хорошо, я надеюсь, что это будет мой последний вопрос в серии вопросов о динамической загрузке файлов.
Я использую AjaxFileUpload Plugin и пытаюсь работать с данными FORM в моем uploader.php. Проблема в том, что $_POST
и $_FILES
имеют значение NULL.
Это мой HTML-код:
<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-скрипт:
//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:
$data['error'] = $_POST['current_path']; // Gives me NULL
$data['respons'] = $_FILES['uploadFile']['name']; // Gives me NULL
// Return result in json
echo json_encode($data);
UPDATE
После очень хорошей помощи от Пекки (с его хорошими глазами) у меня все заработало! Код обновлен с правильным кодом.