У меня есть html-страница с несколькими формами на ней. Я создал пример здесь: http://jsfiddle.net/nteuscher/ht7334p6/
<table border="2">
<tr>
<form action="" method="post">
<td colspan="7" align="left"><input type="hidden"
name="action" value="Edit">
<input type="submit" value="Edit Profile">
</td>
</form>
</tr>
<tr>
<form action="" method="post" enctype="multipart/form-data">
<td>
<div class="upload">
<label for="upload">File: <input type="file"
id="upload" name="upload"></label>
</div>
<div class="upload">
<input type="hidden" name="uploadaction" value="ypt">
<input type="submit" value="Upload">
</div>
</td>
</form>
</tr>
</table>
Когда у меня есть 2 разные формы на странице, то переменная $ _FILES является пустым, когда кто-то нажимает на кнопку «Загрузить». Если на странице есть только форма загрузки файла, переменная $ _FILES работает так, как ожидалось, и содержит всю необходимую информацию. Я проверил это, выполнив var_dump ($ _ FILES) с помощью моего файла php-контроллера.
Я проверил файл php.ini, чтобы убедиться, что загружаемые файлы работают, и я, как отмечено, удаляет все формы, кроме одного для загрузки файлов, тогда все работает так, как ожидалось.
Любые предложения по управлению этим? Я мог бы создать отдельную страницу, но я бы предпочел разрешить загрузку непосредственно с этой страницы.
Код, кажется, работает нормально. Возможно, что-то очищает $ _FILES, прежде чем вы его покажете. –
добавьте имена в вводы отправки, а затем в файл обработки добавьте 'var_dump ($ _ POST)', чтобы убедиться, что форма отправки - та, которая была отправлена. – Fadey
Два подчинения обрабатываются по-разному контроллером, и я получаю следующее, когда я делаю var_dump ($ _ FILES); var_dump ($ _ POST): массив (0) {} массив (4) {["upload"] => строка (20) "2013AM_500x150R2.jpg" ["uploadaction"] => string (3) "ypt" [ "id"] => string (2) "28" ["name"] => string (14) "Counselor-John"} Итак, подача работает исправно, но $ _FILES пуст ... Я думаю Михал на что-то ... теперь мне просто нужно отследить, где $ _FILES может быть очищено. – LearnPKPD