Intereting Posts

Плагин AjaxFileUpload не извлекает данные $ _POST или $ _FILES

Хорошо, надеюсь, это будет мой последний вопрос в серии вопросов о динамической загрузке файлов.

Я использую плагин AjaxFileUpload и пытаюсь работать с данными 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; } 

Чтобы проверить, что данные I отправлены, у меня есть следующий код 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); 

ОБНОВИТЬ

После очень хорошей помощи от Пекки (с его хорошим набором глаз), у меня это работает! Код обновляется с правильным кодом.

Вы назначаете

 fileElementId:'uploadFile', 

но у вашего файлового поля на самом деле нет этого идентификатора.

И ваш PHP-скрипт должен выглядеть

 $_FILES["uploadFile"]["name"]