2013-09-30 3 views
0

Я использую каталог webkit для загрузки папки на сервер. Папка загружается на сервере. Но когда в папке содержится более 20 файлов, он загружает только первые 20 файлов.ограничение файла при загрузке папки

Мой PHP код для загрузки папки на сервере выглядит следующим образом:

<input type="file" name="files[]" onchange="formSubmit()" id="files" webkitdirectory=""/> 

скрипт загрузки выглядит следующим образом:

<?php  
           $count = 0; 

    if ($_SERVER['REQUEST_METHOD'] == 'POST'){ 

     foreach ($_FILES['files']['name'] as $i => $name) { 
      if (strlen($_FILES['files']['name'][$i]) > 1) { 


       if (move_uploaded_file($_FILES['files']['tmp_name'][$i], 'upload/'.$name)) { 
        $count++; 

       } 
      } 
     } 
     echo $count; 
    } 

    ?> 

У меня есть эхо $ _FILES. он также показывает 20 файлов. У меня есть 50 файлов в папках, что я думаю, что есть ограничение на 20 файлов для отправки на сервер, поэтому мой вопрос заключается в том, как загрузить все файлы на сервер?

+0

добавить еще условие для вашего if (move_uploaded_file (..)) {..}, чтобы узнать, есть ли у вас какая-либо ошибка –

+0

У меня есть еще условие else, но оно больше не собирается. –

ответ

2

Данное поведение регулируется установкой max_file_uploads; значение по умолчанию равно 20, поэтому он не позволит больше.

Если больше файлов загружено, чем предел, то $_FILES прекратит обработку файлов после достижения предела. Например, если max_file_uploads установлен в 10, то $_FILES никогда не будет содержать более 10 элементов.

От: http://php.net/features.file-upload.common-pitfalls

Вы можете изменить эту настройку, либо в php.ini или в-справочник файлы конфигурации, например .htaccess, но не через ini_set().

+0

Как я могу изменить этот параметр из конфигурации для каждого каталога? –

+0

@MuneemHabib Это зависит от многого. если вы используете Apache, вы используете для этого 'php_value'. –

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