четверг, 20 апреля 2017 г.

Загрузка файлов. Ошибки загрузки

Есть 8 типов ошибок, которые можно получить.


UPLOAD_ERR_OK => "No errors", // это не ошибка, означает, что ошибки нет.
UPLOAD_ERR_INI_SIZE => "Larger than upload_max_filesize.", // размер загрузки превышает то, что было указано в php.ini
UPLOAD_ERR_FORM_SIZE => "Largen than MAX_FILE_SIZE", // максимальный размер файла в форме слишком большой
UPLOAD_ERR_PARTIAL => "Partial upload.", // загрузка произошла частично, т.е не завершилась
UPLOAD_ERR_NO_FILE => "No file.", // файл вообще не был отправлен
UPLOAD_ERR_NO_TMP_DIR => "No temporary directory.", // нет временной директории
UPLOAD_ERR_CANT_WRITE => "Can't write to disk.", // нельзя записать на диск, т.е есть проблемы с разрешениями на чтение и запись
UPLOAD_ERR_EXTENSION => "File upload stopped by extension.", // расширение остановило загрузку файла

Для обработки ошибок можно создать ассоциативный массив с именами ошибок и сообщениями.
Пример.

// определим массив ошибок загрузки. Это константы.
$upload_errors = array(
UPLOAD_ERR_OK => "No errors", // это не ошибка, означает, что ошибки нет.
UPLOAD_ERR_INI_SIZE => "Larger than upload_max_filesize.", // размер загрузки превышает то, что было указано в php.ini
UPLOAD_ERR_FORM_SIZE => "Largen than MAX_FILE_SIZE", // максимальный размер файла в форме слишком большой
UPLOAD_ERR_PARTIAL => "Partial upload.", // загрузка произошла частично, т.е не завершилась
UPLOAD_ERR_NO_FILE => "No file.", // файл вообще не был отправлен
UPLOAD_ERR_NO_TMP_DIR => "No temporary directory.", // нет временной директории
UPLOAD_ERR_CANT_WRITE => "Can't write to disk.", // нельзя записать на диск, т.е есть проблемы с разрешениями на чтение и запись
UPLOAD_ERR_EXTENSION => "File upload stopped by extension.", // расширение остановило загрузку файла

);

$error = $_FILES['file_upload']['error'];
$message = $upload_errors[$error];

if(!empty($message)) { echo "<p>{$message}</p>"; }

Комментариев нет:

Отправить комментарий

Materialize-css. Футер

Сделаем футер и прижмем к низу страницы. Документация: https://materializecss.com/footer.html