Загрузка нескольких файлов на сайт


В этом посте я хотел бы рассказать о такой вещи, как массовая загрузка изображений на сайт. Многие знаю о том, что можно загружать файлы с помощью таких вещей как 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."'
            )");
        }
    }
}
?>
Добавлено: 11.11.2011    Просмотров: 338    Метки: загрузка файлов
Написал(а): Александр, 11.11.2011 в 11:58
А в связке с неткэтом будет пример?
Написал(а): Orlenko K.N., 11.11.2011 в 12:27
Подкинул идею . Думаю, что да, адаптирую на досуге.

 
   
 
 

Последняя работа

Торговый дом «Зелёная линия»

Шаблон

HTML-шаблон Frankinsence

Статистика


Сегодня: 23 февраля 2012 г.
  Постов на блоге: 146
  Оставлено комментариев: 896
  Шаблонов в базе: 223
  Выполнено работ: 40
Все комментарии
Загрузка: 0.019

Яндекс.Метрика