- Подробности
-
Категория: PHP. Файлы
Автор: 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=?>повторите попытку загрузить файл</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=?>повторить попытку</a>!</font></b>");
// Если файл удачно загружён на сервер, делаем вот что…
else
{
// Переносим загружённый файл в папку $path
if(@!copy($_FILES['UserFile']['tmp_name'],$path.chr(47).$_FILES['UserFile']['name']))
// Если не удалось перенести файл, выводим ошибку:
die("<b><font color=red>Файл не был загружен! Попробуйте <a href=?>повторить попытку</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=?>Загрузить ещё один файл!</a></center>";
}
?>