Портал для веб-мастера

Инструменты для Бизнеса

Вход пользователей
Поиск статей
WoWeb.ru » Статьи » Программирование для Web » PHP

Загруска файлов
У php достаточно большой набор возможностей, для работы с загрузкой файлов:
$_FILES["filename"]["tmp_name"]-имя сохраненного файла
$_FILES["filename"]["name"]-имя запрашиваемого файла
$_FILES["filename"]["size"] –размер файла в байтах
$_FILES["filename"]["type"]-содержит в себе разрешение файла и категорию к которой относится. Но не думайте что, последнее выведет вам прямо в руки его разрешение, оно выводит сначала категорию, а потом разрешение, например
application/x-rar-compressed-вот так обозначаются файлы с разрешением php.
Конечно можно было применить strops,с обрезанием до точки, а если файл будет содержать точки, то получится- БРЕД.
Как видите, скрипт написан на простейшем языке, дабы облегчить его понимание, данный скрипт можно было выполнить через оператор “or”,получилось значительно меньше тегов, но наверно менее понятно.

Что мы хотим о скрипта?
1)Чтобы можно было закачивать только архивы
2)Чтобы не больше 1 мегабайта
3)Перед закачкой,проверить не существует ли такое имя
4)Если есть то скрипт сам даст имя
Ну вот те цели которые мы перед собой поставили.Реализацию начнем с обычной html форме
Code
 <form action="#" method=POST enctype="multipart/form-data"> <input type="FILE" name="filename"><br> <input type="submit" name=upload value=Загрузить><br> </form> 

Ну а теперь сам код,в том же файле
Code
 <?php if (isset($_POST['upload'])) { if(empty($filename)) { exit ("Имя введите"); } //Создаем массив с доступными разрешениями $array=array("application/zip","application/x-rar-compressed","image/jpeg"); //ищем разрешение файла в массиве if (in_array($_FILES['filename']['type'],$array))/ {//если найдено то выполняем проверку на размер файла  if ($_FILES['filename']['size'] > 1024*1*1024) { 
//если размер не подходит exit ("Максимальный размер файла 1 мегобайт "); } //для удобства приравниваем имя файла $fn=$_FILES['filename']['name']; //проверяем существует ли файл  if(file_exists("catalog/$fn")==TRUE)  { //если файл уже есть,о определяем дату, $date=time(); записываем файл в виде "дата@имя файла.разрешение copy($_FILES["filename"]["tmp_name"],"catalog/$date@$fn"); echo"Файл с таким именем уже присутствует в каталоге.Поэтому ему было присвоено имя $date@$fn"; } else {//если файла нету то просто копируем copy($_FILES["filename"]["tmp_name"],"catalog/$fn"); //копируем файл }} else {//если имя разрешение файла не найдено,тоесть не подходит exit ("Не подходит"); } }  ?> 

Автор: Велько Антон(levis) · Добавлена: 2006-12-21 · Добавил: l3v1s
Просмотров: 4022 · Рейтинг: 3.8

Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Категории раздела
Flash
Apache
WWW
PhotoShop
Веб-дизайн
Раскрутка и реклама
Базы данных
3D графика
Хостинг
Истории веб-мастеров
Web-технологии
Сетевая безопасность
Программирование для Web
Операционные системы

Новые статьи
Лучшие статьи
Популярные статьи
Комментируемые статьи
Разделы сайта
Скрипты
Статьи
Шрифты
Флэш исходники
HTML шаблоны
Партнерки
Клипарты
Смайлы
Фоны
Гифы
Иконки
Опрос сайта
Есть ли у вас свой сайт?
Всего ответов: 141619
Наша кнопка
WoWeb.ru - портал для веб-мастера