2016-03-16 5 views
0

У меня есть вход типа файл с имуществом несколько. С помощью этого свойства я могу выбрать несколько файлов. Как я могу отправить эти файлы после отправки через PHP?PHP получить несколько файлов

Используя этот скрипт и selcting несколько файлов, вывод содержит только 1 файл:

<?php 
    print_r($_FILES); 
    ?> 

    <form method="post" enctype="multipart/form-data"> 
    <input type="file" name='file' multiple > 
    <input type="submit"> 
    </form> 

Вот результат:

Array ( 
[file] => Array ( 
     [name] => firefox.exe 
     [type] => application/octet-stream 
     [tmp_name] => /is/htdocs/user_tmp/wp10991132_7P7886URU4/phpO5UJ59 
     [error] => 0 
     [size] => 392136 
     ) 
) 

Где остальные файлы?

+1

, пожалуйста, напишите, что вы видите для 'print_r ($ _ FILES);' после того, как вы попробуете свой скрипт – cmorrissey

+0

@cmorrissey. Я добавил результат. – Adam

ответ

2

Вы должны использовать массив в качестве имени HTML ввода

<input type="file" name='file[]' multiple > 
1
HTML: 
<form method="post" enctype="multipart/form-data"> 
    <input type="file" name="file[]" multiple > 
    <input type="submit"> 
</form> 

Чтобы получить их в PHP, как описано здесь:
http://php.net/manual/en/features.file-upload.multiple.php

PHP: 

$first_file_name = $_FILES['file']['name'][0]; 
$second_file_name = $_FILES['file']['name'][1]; 

$first_file_tmp_name = $_FILES['file']['tmp_name'][0]; 
$second_file_tmp_name = $_FILES['file']['tmp_name'][1]; 

$first_file_size = $_FILES['file']['size'][0]; 
$second_file_size = $_FILES['file']['size'][1]; 
//and so on... 

Вы можете увидеть здесь поддержку версии, что браузер эта возможность:
http://www.w3schools.com/tags/att_input_multiple.asp
(например, несколько атрибутов не поддерживается в IE 10)