$ _FILES пусто при загрузке - PullRequest
       17

$ _FILES пусто при загрузке

5 голосов
/ 28 августа 2009

При попытке доступа к массиву $_FILES PHP возвращает ошибку

«Неопределенный индекс: изображение».

В моем php.ini файле File Uploads включены, и любой пользователь может писать в каталог /tmp. В форме HTML для enctype установлено значение "multipart/form-data". Интересно, что печатается базовое имя для загруженного файла, поэтому я считаю, что PHP на самом деле видел этот файл, но у него возникли некоторые проблемы с загрузкой. Может кто-нибудь дать предложения о возможных решениях этой проблемы? Кстати, я использую PHP5.

Фрагменты из файла PHP

echo "Picture=" . $_POST['picture'] . "<br/>";
$uploadedPic = $_FILES['picture']['tmp_name'];

Форма HTML

<form action="PHPFile.php" method="post" enctype="multipart/form-data">

<p> Picture </p>
<input type = "file" id="picture" name="picture"/>

</form>

Ответы [ 6 ]

6 голосов
/ 28 августа 2009

На какой линии вы получаете это предупреждение? Если это тот, у которого $_POST['picture'], то логично, вы не найдете загруженных данных в $_POST, а в $_FILES

1 голос
/ 28 августа 2009
echo "Picture=" . $_POST['picture'] . "<br/>";

Переменная POST

$_POST['picture']

не существует, так что да, это даст неопределенную ошибку.

0 голосов
/ 27 февраля 2012

lol, предыдущий автор сказал, что перезапуск сервера исправил это.я сделал то же самое, и по какой-то причине это работает.я не сделал никаких изменений кода, и сброс IIS также не работал.потребовалась перезагрузка самого компьютера.это примерно 2 часа полностью потеряно.

0 голосов
/ 13 сентября 2009

попробуйте добавить

<input type="hidden" name="MAX_FILE_SIZE" value="30000" />

до

<input type = "file" id="picture" name="picture"/>
0 голосов
/ 28 августа 2009

Какой уровень или сообщение об ошибке вы используете? error_reporting(E_ALL) включит полную отчетность и может дать вам подсказку. Как описано выше, напечатайте $_FILES с var_dump() или print_r(), чтобы просмотреть информацию для вашего файла.

0 голосов
/ 28 августа 2009

Я не могу комментировать, поэтому я скажу это здесь.

ЧЕЛОВЕК, это эхо напечатает имя файла! Оно работает! Он сказал, что это работает.

Интересно, что печатается базовое имя загруженного файла, поэтому я считаю, что PHP действительно видел файл [...]

Хороший совет: попробуйте var_dump $_FILES и добавьте сюда его содержимое. У вас может быть ошибка, потому что файл слишком большой или какая-то другая полезная информация.

...