PHP — завантаження файлу

20

Від автора: сьогодні ми поговоримо про те, як відбувається в PHP завантаження файлу. Скрипт PHP можна використовувати з формою HTML, щоб користувачі могли завантажувати файли на сервер. Спочатку файли завантажуються в тимчасовий каталог, а потім переміщуються в місце призначення за допомогою сценарію PHP.

Информацияна сторінці phpinfo.php описує тимчасовий каталог, який використовується для завантаження файлів, наприклад upload_tmp_dir, а максимальний розмір файлів, які можуть бути завантажені, вказується як upload_max_filesize. Ці параметри задаються у файлі конфігурації PHP php.ini. Процес завантаження файлу виконується наступним чином:

Користувач відкриває сторінку, що містить HTML-форму з текстовими файлами, кнопкою Огляд і кнопкою Відправити.

Користувач натискає кнопку Огляд і вибирає файл для завантаження з локального ПК.

Повний шлях до обраного файлу відображається в текстовому файлі, потім натиснути кнопку Відправити.

Вибраний файл відправляється в тимчасовий каталог на сервері.

PHP-скрипт, який був вказаний в якості обробника форми в атрибуті форми action, перевіряє, чи доставлений файл, а потім копіює файл в цільову директорію.

Скрипт PHP підтверджує успішне завершення дії.

Як правило, для тимчасового та цільового каталогу повинні бути вказані права доступу на запис файлів. Якщо встановлені права «тільки для читання», процес завершиться невдало. Завантаженим файлом може бути текстовий файл або файл зображення, або будь-який документ.

Створення форми завантаження

Наведений нижче HTML-код створює форму для завантаження. У цій формі атрибут method значення post, а для атрибута enctype — multipart / form-data.

2097152){
$errors[]=’File size must be excately 2 MB’;
}
if(empty($errors)==true){
move_uploaded_file($file_tmp»images/».$file_name);
echo «Success»;
}else{
print_r($errors);
}
}
?>

Цей код дає наступний результат:

PHP — завантаження файлу

Створення скрипта завантаження

Існує глобальна змінна PHP з ім’ям $_FILES. Ця змінна є асоціативним двовимірним масивом, в ній зберігається вся інформація, пов’язана із завантаженим файлом. Таким чином, якщо елемент керування форми атрибуту name було присвоєно значення file, тоді PHP створить наступні п’ять змінних —

$ _FILES [‘file’] [‘tmp_name’] — завантажений файл в тимчасовий каталог на веб-сервері.

$ _FILES [‘file’] [‘name’] — фактичне ім’я завантаженого файлу.

$ _FILES [‘file’] [‘size’] — розмір в байтах завантаженого файлу.

$ _FILES [‘file’] [‘type’] — MIME-тип завантаженого файлу.

$ _FILES [‘file’] [‘error’] — код помилки, який пов’язаний із завантаженням файлу.

Нижче наведено приклад завантаження зображень та повернення результатів у вигляді інформації про завантаженому файлі.

2097152) {
$errors[]=’File size must be excately 2 MB’;
}
if(empty($errors)==true) {
move_uploaded_file($file_tmp»images/».$file_name);
echo «Success»;
}else{
print_r($errors);
}
}
?>

  • Sent file:
  • File size:
  • File type:

Цей код дає наступний результат:

PHP — завантаження файлу