Почему мы не можем использовать $ _POST вместо $ _FILES для доступа к загруженному файлу в PHP? - PullRequest
0 голосов
/ 31 января 2019

Когда я пытаюсь получить доступ к загруженному файлу с помощью $_POST, тогда я не получаю никакой информации, но если я использую $_FILES, я получу все связанные с загруженным файлом вещи.

Почему мынельзя использовать $_POST вместо $_FILES?

1 Ответ

0 голосов
/ 31 января 2019

Это решение о разработке языка , которое было принято создателями PHP давно.Вы можете спросить создателя PHP Расмуса Лердорфа (https://en.wikipedia.org/wiki/Rasmus_Lerdorf).

Однако есть несколько веских причин, по которым я могу подумать о том, чтобы отделить $_POST и $_FILES.

отdocs:

Глобальный $ _FILES будет содержать всю информацию о загруженных файлах. [...] Файлы по умолчанию будут храниться во временном каталоге по умолчанию на сервере, если только другое местоположение не было задано с помощьюДиректива upload_tmp_dir в php.ini. Каталог сервера по умолчанию можно изменить, установив переменную окружения TMPDIR в среде, в которой работает PHP. Установка его с помощью putenv () из сценария PHP не будет работать. Эту переменную среды также можно использоватьчтобы убедиться, что другие операции также работают с загруженными файлами.

Массив $_FILES содержит такую ​​информацию, как имя, тип, размер, временное имя, информация об ошибке, временное местоположение и т. д.Таким образом, для файла требуется много информации, и он содержит отдельные данные, хранящиеся в каком-то временном месте.

Массив $_POST просто содержит отправленные текстовые строки.Поэтому я предполагаю, что проектное решение было принято только потому, что полезно четко разделить эти переменные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...