Загрузка файлов с помощью PHP

Загрузка файлов c php

PHP позволяет загружать файлы с помощью простой формы HTML на вашей веб-странице непосредственно на сервере. Есть несколько вещей, которые вам нужно сделать, чтобы сделать эту рабочую страницу с веб-формой, загрузкой скрипта, папкой на вашем сервере с установленным разрешением, чтобы иметь возможность писать в ней.

Давайте начнем с формы. Ниже вы можете увидеть базовую веб-форму для загрузки файла.

<form action=\upload.php\ method=\post\ enctype=\multipart/form-data\>
File: <input type=\file\ name=\filename\ />
<input type=\submit\ value=\Upload\ />
</form>

Самое важное в форме заключается в том, что вы должны использовать метод POST, а не GET, а также использовать enctype = \multipart / form-data\, чтобы он знал, что файл будет передан.

Теперь нам нужно сделать папку (имена «uploading») на нашем веб-сервере и установить ее разрешения для 777, чтобы скрипт upload.php, который мы сделаем, сможет записать файл в нем. В редких случаях в зависимости от конфигурации вашего сервера вам может и не понадобиться. Мы также должны знать абсолютный путь на сервере для этой папки (пример: /home/username/www/uploading/)

Теперь мы готовы сделать наш скрипт upload.php.

$folder = /home/username/www/uploading/;
if (is_uploaded_file($HTTP_POST_FILES['filename']['tmp_name']))  {   
    if (move_uploaded_file($HTTP_POST_FILES['filename']['tmp_name'], $folder.$HTTP_POST_FILES['filename']['name'])) {
         Echo “File uploadedâ€;
    } else {
         Echo “File not moved to destination folder. Check permissionsâ€;
    };
} else {
     Echo “File is not uploaded.â€;
}; 

Теперь я объясню, что делает этот код. Когда файл загружается, ему сначала присваивается имя файла temp, а затем помещается во временную папку вашего веб-сервера. Это имя файла temp доступно с использованием глобальной переменной массива $ HTTP_POST_FILES. В нашей веб-форме у нас есть поле для просмотра с именем «имя_файла» (<input type = file name = filename />), поэтому имя этого временного файла:

$HTTP_POST_FILES[\'filename\'][\'tmp_name\']

Реальное имя загружаемого файла сохраняется в другой переменной с именем $ HTTP_POST_FILES [‘filename’] [‘name’]. Как вы видите, это просто другой элемент массива с именем «имя»? в массиве $ HTTP_POST_FILES [‘filename’].

Теперь после загрузки этого файла в нашу временную папку веб-сервера нам нужно переместить его в указанную папку $ folder = /home/username/www/uploading/. Это делается с помощью функции move_uploaded_file ().

move_uploaded_file($HTTP_POST_FILES['filename']['tmp_name'], $folder.$HTTP_POST_FILES['filename']['name'])

первым параметром, который он принимает, является имя файла temp, а вторым параметром является папка назначения и имя файла. Если он успешно перемещает временный файл в папку, в которой мы хотим, он возвращает TRUE, и мы сделали его печать «Загружена» сообщение на экране.

0 0 vote
Article Rating
Подписаться
Уведомление о
guest
0 Комментарий
Inline Feedbacks
View all comments