За последние 24 часа нас посетили 22642 программиста и 1281 робот. Сейчас ищут 978 программистов ...

Multiple files PHP

Тема в разделе "PHP для новичков", создана пользователем Horus1613, 25 май 2017.

  1. Horus1613

    Horus1613 Новичок

    С нами с:
    25 май 2017
    Сообщения:
    34
    Симпатии:
    0
    Всем доброго времени суток.
    Не могу понять, как сделать множественную загрузка файла из одного input.
    Есть рабочий код:

    HTML

    Код (Text):
    1. <input type="file"  name="file">
    PHP
    Код (Text):
    1.  
    2. $file = ( isset($_FILES['file']) && ! empty($_FILES['file']['name']) ) ? $_FILES['file'] : false;
    3.  
    4. if ( $file ) {
    5.     setlocale(LC_ALL, 'ru_RU.utf8');
    6.     $fileinfo = pathinfo($file['name']); // Формат файла.
    7.     $fileinfo['extension'] = mb_strtolower($fileinfo['extension'], 'utf-8');
    8.     $row_contract =  $row['contract'];
    9.     $row_contract = str_replace('/', '-', $row_contract);
    10.     $filesave = $fileinfo['filename'] . '-' . $row_contract . '.' . $fileinfo['extension'];
    11.  
    12.         if ( $file['error'] != 0 ) {
    13.             $stop[] = "Error file upload";
    14.         } elseif ( ! in_array($fileinfo['extension'], $config['allowed_file']) ) {
    15.             $stop[] = "Error file extension";
    16.         } else {
    17.             if ( ! move_uploaded_file($file['tmp_name'], ROOT_DIR . '/uploads/file/' . $filesave) ) {
    18.                 $stop[] = "Error file move";
    19.             }
    20.         }
    21. }
    22.                
    23. if ( $file ) {
    24.         $filesave = $db->safesql($filesave);
    25.         $db->query( "INSERT INTO files (`file`, `client_id`) VALUES ('{$filesave}', '{$id}')" );
    26. }
    Если я хочу несколько файлов в одном input, то в html меняю
    Код (Text):
    1. <input type="file" min="1" max="9999" name="file[]" multiple="true">
    И получается, file у меня теперь массив. Теперь каждый элемент массива нужно запихнуть в цикл и над каждым произвести все то, что я делал с одним файлом. Не могу понять, как это сделать
     
  2. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    я как раз сейчас для форума на движке Simple Machines делаю галерею и загрузчик изображений)) так что может что то и подскажу)

    вот тут так
    PHP:
    1. <input type="file" name="files" multiple />
    дальше вам нужен просто цикл
    PHP:
    1.     foreach($_FILES as $file) {
    2.        //что то делаете с $file
    3.     }
     
    denis01 нравится это.
  3. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв