Загрузка нескольких файлов на сайт
В этом посте я хотел бы рассказать о такой вещи, как массовая загрузка изображений на сайт. Многие знаю о том, что можно загружать файлы с помощью таких вещей как uploadify и им же подобных. Здесь способ попроще.
С некоторого времени для вебмастеров стало доступно такое свойство тега input как «multiple», что с буржуйского переводится как «множественный».
Как работает:
Помещаете в свою форму обычное поле input, дописав к нему только multiple и обозначив аттрибут name как массив данных:
<input type='file' name='files[]' multiple />Визуально это дело выглядит следующим образом:
1. Выбираете необходимое кол-во файлов

2. Смотрите список и количество

В других браузерах отображение может отличаться. Я работаю в Хроме.
Дальше идёт обработчик:
<?
if(count($_FILES['files'])) {
# Куда загружать
$uploaddir = $_SERVER['DOCUMENT_ROOT'].'/files/';
# Массив файлов
$arr = ($_FILES['files']['name']);
foreach ($arr as $key => $value) {
$uploadfile = $uploaddir . $value;
# Типы файлов
$img_types = array(".gif",".jpg",".jpeg",".png");
$img_pic = $_FILES['files']['tmp_name'][$key];
$img_ext = strtolower(strrchr($_FILES['files']['name'][$key],"."));
# Формируем уникальное имя файла
$img_name = time().$img_ext;
# Если всё в порядке — загружаем
if (in_array($img_ext, $img_types)) {
move_uploaded_file($img_pic, $uploadfile);
chmod($uploadfile, 0644);
}
# Если массив не пустой, загружаем в базу данные
if ($arr[0]!==""){
mysql_query("INSERT INTO `files` (
`photo_img`
) VALUES (
'".$img_name."'
)");
}
}
}
?> Ещё посты из категории: Программирование
. Думаю, что да, адаптирую на досуге.





914-811



