2015-06-08 3 views
4

Я использовал dropzone.js для обработки загружаемой части в frontend, используя jquery.

http://www.dropzonejs.com/

Мой тестирования случае являются:

Upload a 34 MB file. Works fine 
Upload a 27 MB file. Works fine 
Upload two files, each of them are 5 MB. Works fine 
Upload two files, 34 MB + 27 MB. *Fail* , $_Files is an empty array 

Вот код JQuery:

<script> 
    $(document).ready(function() { 
     Dropzone.options.myAwesomeDropzone = { 
      autoProcessQueue: false, 
      url: '<?= site_url("admin/video/upload"); ?>', 
      addRemoveLinks: true, 
      previewsContainer: ".dropzone-previews", 
      uploadMultiple: true, 
      parallelUploads: 50, 
      maxFilesize: 500, //500MB 
      acceptedFiles: 'video/*', 
      maxFiles: 100, 
      init: function() { 
       var myDropzone = this; 

       myDropzone.on("success", function (file, response) { 
        $("#success, #fail").hide(); 
        $("#" + response).show(); 
       }); 

       myDropzone.on("maxfilesexceeded", function (file) { 
        this.removeFile(file); 
       }); 

       $("#submit-all").click(function (e) { 
        e.preventDefault(); 
        e.stopPropagation(); 
        myDropzone.processQueue(); 
       }); 
      } 
     } 
    }); 
</script> 

Вот PHP-код

public function upload() { 
    die(var_dump($_FILES)); 
} 

Итак, почему $ _Files пуст и как его исправить? Большое спасибо.

+1

Возможный ответ здесь: [http://stackoverflow.com/a/6135485/3648578](http://stackoverflow.com/a/6135485/3648578) – kosmos

ответ

7

34 МБ + 27 МБ = 61 МБ.

Итак, вы отправляете 61 МБ.

Значения по умолчанию для PHP - 2 МБ для upload_max_filesize и 8 МБ для post_max_size. В зависимости от вашего хоста, изменение этих двух переменных PHP может быть сделано в нескольких местах с наиболее вероятными php.ini или .htaccess (в зависимости от ситуации с хостингом).

Вы проверили их на своем php.ini ?

Максимально разрешенный размер для каждого загруженного файла.

upload_max_filesize = 40M 

Должно быть больше или равно upload_max_filesize, это общий размер всех загруженных файлов на каждом почтовом событии.

post_max_size = 40M 

Если вы хотите загрузить максимальный размер файла 500 МБ, вы можете установить оба значения выше 500 МБ. Помните, что если вы загружаете несколько файлов, post_max_size должен быть объединенным размером файлов загруженных файлов для каждого события сообщения. Поэтому, если вы загрузили два файла из 500mb, вы бы установили upload_max_filesize = 501M и post_max_size = 1001M

+0

но почему вы можете загрузить файл с 34mb и еще 27mb, но при попытке загрузить два файла с 34mb и 27mb ошибка возникает? Какое объяснение? –

+0

Я публикую комментарий, потому что я думаю, что вам нужно объяснить это OP в вашем ответе ;-) –

+0

Ох, круто, сделано. –

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