array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'features.file-upload.common-pitfalls.php', 1 => 'Наиболее распространённые ошибки', ), 'up' => array ( 0 => 'features.file-upload.php', 1 => 'Загрузка файлов на сервер', ), 'prev' => array ( 0 => 'features.file-upload.errors.php', 1 => 'Объяснение сообщений об ошибках', ), 'next' => array ( 0 => 'features.file-upload.multiple.php', 1 => 'Загрузка нескольких файлов', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'features/file-upload.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
Опция MAX_FILE_SIZE
не должна позволять передачу файлов,
размер которых превышает лимит, установленный конфигурационной директивой
upload_max_filesize в php.ini.
Ограничение по умолчанию составляет 2 мегабайта.
В случае, если установлены ограничения памяти, вам может понадобиться увеличить значение опции memory_limit. Убедитесь в том, что значение memory_limit достаточно велико.
В случае, если опция max_execution_time
установлена слишком маленьким значением, необходимое время работы скрипта
может превышать это значение. Убедитесь в том, что значение
max_execution_time
достаточно велико.
Замечание: Директива max_execution_time касается исключительно времени, используемого непосредственно самим скриптом. Время, потраченное на внешние действия, такие как системные вызовы при помощи функции system() или sleep(), обращения к базе данных, а также время, потраченное на загрузку файла и другие действия, происходящие вне скрипта, не учитываются при определении максимально допустимого промежутка времени, отведённого для выполнения скрипта.
Директива max_input_time указывает
максимально допустимое время в секундах для получения входящих данных,
в том числе и загружаемых файлов. В случае, если вы имеете дело с несколькими
или большими файлами, либо удалённые пользователи используют медленный
канал, ограничение по умолчанию в 60
секунд может быть превышено.
Если директива post_max_size
слишком мала, большие файлы не смогут быть загружены на сервер.
Убедитесь, что значение директивы post_max_size
достаточно велико.
Опция
max_file_uploads
контролирует максимальное количество загружаемых файлов в течение
одного запроса. Если загружается большее количество файлов,
чем указано в этом ограничении, то массив $_FILES
прекратит дальнейшую обработку файлов по достижении этого ограничения.
Например, если
max_file_uploads установлено
в 10
, то $_FILES никогда не будет
содержать больше 10 элементов.
Если не проверять, с какими файлами вы работаете, пользователи могут получить доступ к конфиденциальной информации, расположенной в других директориях.
Поскольку разные системы по-разному работают с файловой структурой, нет никаких гарантий того, что файлы с экзотическими именами (например, которые содержат пробельные символы) будут обработаны корректно.
Разработчики не должны использовать одинаковые имена для
обычных полей ввода (тег input
) и полей
выбора файла в пределах одной и той же формы (например, используя имя
для тега input
наподобие foo[]
).