Все ленты — последние статьи

Практический пример Upload файлов через веб

Автор: manlix.ru

Цели:
1) Написать форму.
2) Написать скрипт, обрабатывающий форму.
3) Запихнуть 1 и 2 цель в один файл.

Начнем:

<?php
# ВАЖНАЯ ИНФОРМАЦИЯ!

# В вашем "php.ini" должны быть следующие три параметра:
#
# file_uploads = On
#
# ^ включаем поддержку загружаемых файлов.
#
# upload_tmp_dir = ПОЛНЫЙ_ПУТЬ_ДО_ПАПКИ_ГДЕ_БУДУТ_ХРАНИТЬСЯ_ЗАГРУЖАЕМЫЕ(ВРЕМЕННЫЕ)_ФАЙЛЫ
#
# ^ Например: upload_tmp_dir = d:/server/php/uploads
#
# и
#
# upload_max_filesize = 2M
#
# ^ Максимальный размер загружаемых файлов (в нашем случаем 2 МБ).

// Куда сохраним файл?
// Давайте в папке с этим скриптом,
// создадим папку "files", туда-то и будем
// сохранять все загружаемые файлы.

$path=GetCWD()."/files";

// Проверяем на существование папку $path

 

if(!file_exists($path))
die("<b>Пожалуйста, создайте папку <font color=red>".$path."</font> и <a href=&#63;>повторите попытку загрузить файл</a>.</b>");

// Выводим форму для загрузки файла.

if(empty($_FILES['UserFile']['tmp_name']))
echo
"<form method=post enctype=multipart/form-data>
Выберите файл: <input type=file name=UserFile>
<input type=submit value=Отправить>
</form>";

// Если файл не загружен по каким-то причинам, выводим ошибку.

elseif(!is_uploaded_file($_FILES['UserFile']['tmp_name']))
die("<b><font color=red>Файл не был загружен! Попробуйте <a href=&#63;>повторить попытку</a>!</font></b>");

// Если файл удачно загружён на сервер, делаем вот что…

else
{
// Переносим загружённый файл в папку $path

if(@!copy($_FILES['UserFile']['tmp_name'],$path.chr(47).$_FILES['UserFile']['name']))

// Если не удалось перенести файл, выводим ошибку:

die("<b><font color=red>Файл не был загружен! Попробуйте <a href=&#63;>повторить попытку</a>!</font></b>");

// Если всё Ok, то выводим инфо. о загружённом файле.

else
echo
"<center><b>Файл "<font color=red>".$_FILES['UserFile']['name'].""</font> успешно загружён на сервер!</font></b></center>".
"<hr>".
"Тип файла: <b>".$_FILES['UserFile']['type']."</b><br>".
"Размер файла: <b>".round($_FILES['UserFile']['size']/1024,2)." кб.</b>".
"<hr><center><a href=&#63;>Загрузить ещё один файл!</a></center>";
}
?>