2015-02-25 4 views
0

Я хочу загрузить несколько файлов в php. У меня есть окно ввода файлов, а рядом с ним добавлена ​​кнопка. когда пользователь нажимает кнопку, придет новая загрузка файла. пользователь должен иметь возможность загружать только пять файлов, если будет задействовано пять элементов управления загрузкой файлов, добавив еще одно предупреждение, и пользователь не сможет добавить другую загрузку файла. Теперь, если я выбираю все пять файлов и печатаю массив $ _FILES, он показывает имя файла для индекса первого и последнего массивов. Приведенный ниже код: -

Array 
(
    [txtProductImage] => Array 
     (
      [name] => Array 
       (
        [0] => 14200127851.jpg 
        [1] => 
        [2] => 
        [3] => 
        [4] => 14200127864.jpg 
       ) 

      [type] => Array 
       (
        [0] => image/jpeg 
        [1] => 
        [2] => 
        [3] => 
        [4] => image/jpeg 
       ) 

      [tmp_name] => Array 
       (
        [0] => C:\xampp\tmp\phpBCCE.tmp 
        [1] => 
        [2] => 
        [3] => 
        [4] => C:\xampp\tmp\phpBCDF.tmp 
       ) 

      [error] => Array 
       (
        [0] => 0 
        [1] => 4 
        [2] => 4 
        [3] => 4 
        [4] => 0 
       ) 

      [size] => Array 
       (
        [0] => 575185 
        [1] => 0 
        [2] => 0 
        [3] => 0 
        [4] => 660387 
       ) 

     ) 

) 

Я потратил много времени, но не смог понять, в чем проблема. Любая помощь будет оценена. Заранее спасибо

+0

Можем ли мы увидеть HTML/код JS? – Niols

+0

При нажатии кнопки я добавляю новый входной файл и в форме submit Я напечатал массив $ _FILES –

ответ

0

Можете ли вы показать нам больше кода? Как вы получаете файлы и как их размещать? Вы проверили, какие ошибки для элементов массива? Вы должны попытаться распечатать их из массива, чтобы узнать, какие ошибки. Это даст вам внутренний вид и где вы допустили ошибку. Возможно, это слишком большая картина или неправильный тип.

+0

Я использую входной файл как массив как этот txtProductImage [] для всех пяти входов, и я только что напечатал массив $ _FILES в файл действия. –

+1

Получил решение Ребята. Я использовал html каждый раз вместо добавления нового ввода файла. После изменения .html для добавления я получил все загруженные файлы в $ _FILES. Спасибо за вашу помощь. –

0

это работает для меня.

<?php 
echo '<pre>'; 
ob_start(); 
var_dump('$_GET',$_GET,'$_POST',$_POST,'$_COOKIE',$_COOKIE,'$_FILES',$_FILES); 
echo htmlentities(ob_get_clean()).'</pre>'; 
?> 

<form action="?"> 
<input type="file" multiple name="files[]" > 
<input type="submit" value="Submit"> 
</form> 

Edit: или если вы хотите более 5, это также работает для меня:

<input type="file" name="files[]" > 
<input type="file" name="files[]" > 
<input type="file" name="files[]" > 
<input type="file" name="files[]" > 
<input type="file" name="files[]" > 

проверка http://php.net/manual/en/features.file-upload.multiple.php

Смежные вопросы