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

От уровня TCP да будет разделен Ваш большой буфер, когда это будет слишком большим, и он будет объединен, когда это слишком маленькое.

От прикладного уровня, не позволяйте своему приложению иметь дело с неограниченные буферные размеры . На некотором уровне необходимо разделить их.

, Если Вы отправляете файл по сокету и возможно обрабатываете некоторые из данных этого файла, как сжатие его. Тогда необходимо разделить это на блоки. Иначе Вы будете использовать слишком много RAM, когда Вы в конечном счете случайно встретите большой файл, и Ваша программа будет вне RAM.

RAM не является единственной проблемой. Если Ваш буфер становится слишком большим, можно провести слишком много времени, читая в данных, или обрабатывая его, и Вы не будете использовать сокет, который находится, там ожидая данных. Поэтому лучше иметь параметр для размера буфера так, чтобы можно было определить значение, которое не является слишком маленьким, ни слишком большим.

Мое требование не состоит в том, что сокет TCP не может обработать большой блок данных, он может и я предложить использовать более крупные буферы при отправке для получения лучшей эффективности. Мое требование состоит в том, чтобы просто сделать не, имеют дело с неограниченными буферными размерами в Вашем приложении.

5
задан NorthCat 20 August 2014 в 18:12
поделиться

5 ответов

В какой строке вы получаете это предупреждение? Если это тот, у которого есть $ _ POST ['изображение'] , то это логично, вы не найдете загруженные данные файла в $ _ POST , это в $ _ FILES

6
ответ дан 14 December 2019 в 19:20
поделиться

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

0
ответ дан 14 December 2019 в 19:20
поделиться
echo "Picture=" . $_POST['picture'] . "<br/>";

Переменная POST

$_POST['picture']

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

1
ответ дан 14 December 2019 в 19:20
поделиться

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

MAN, это эхо выведет имя файла! Оно работает! Он сказал, что это работает.

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

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

0
ответ дан 14 December 2019 в 19:20
поделиться

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

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

перед

<input type = "file" id="picture" name="picture"/>
-2
ответ дан 14 December 2019 в 19:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: