Я пытаюсь получить файл, загруженный через PHP-скрипт, но мой массив $ _FILES всегда пуст? Моя запись данных $ _POST для элемента ввода HTML файла имеет имя файла … В моей локальной системе не создается файл.
Я проверял доступ на запись к папке temp, и ее явную настройку. Я проверил phpinfo (), чтобы убедиться, что загрузка файлов включена, и они есть.
Что можно было предотвратить? Может ли mod_rewrite вызывать что-нибудь?
Благодаря!
Когда у вас есть правильный enctype ( <form method="post" enctype="multipart/form-data">
), тогда проверьте переменную errno в $ _FILES, возможны различные возможные причины сбоя. Обычно превышается MAX_FILE_SIZE.
http://php.net/manual/en/features.file-upload.errors.php
Начиная с PHP 4.2.0, PHP возвращает соответствующий код ошибки вместе с массивом файлов. Код ошибки можно найти в сегменте ошибок массива файлов, который создается во время загрузки файла через PHP. Другими словами, ошибка может быть найдена в $ _FILES ['userfile'] ['error'].
UPLOAD_ERR_OK Значение: 0; Нет ошибки, файл загружен с успехом.
UPLOAD_ERR_INI_SIZE Значение: 1; Загруженный файл превышает директиву upload_max_filesize в php.ini.
UPLOAD_ERR_FORM_SIZE Значение: 2; Загруженный файл превышает директиву MAX_FILE_SIZE, указанную в HTML-форме.
и т.п.
Вы определяете enctype в своей форме?
<form method="post" enctype="multipart/form-data">
Файл не будет загружен, если вы его не установили.
Форма имеет правильный enctype?
enctype="multipart/form-data"