2016-11-26 3 views
0

Я установил загрузку файла на основе углов, используя плагин ng-file-upload (https://github.com/danialfarid/ng-file-upload), и я обрабатывал загрузку файла с помощью PHP-скрипта.

Загрузка файлов и скрипт работают с меньшими файлами (проверено на < 1 МБ), но сбой в большем файле (9 МБ). Это заставляет меня думать, что проблема с загрузкой файла. Тем не менее, я уже создал .user.ini файл в папке/Wwwroot с одной строкой:

upload_max_filesize=20M 

есть другая причина, почему $ _FILES и $ _POST массивы будут пустыми?

JS код:

Upload.upload({ 
    url: '/scripts/receiveFile.php', 
    file: file 
}).then(function(resp) { 
    console.log(resp.data); 
}, function(resp) { 
    console.log(resp.data); 
}, function(evt) { 
    var progressPercent = parseInt(100.0 * evt.loaded/evt.total); 
    console.log(progressPercent + "%"); 
}); 

HTML код:

<div> 
    <h1>Upload</h1> 
    <input type="file" accept=".zip" ngf-select="submitFile($file)"></input> 
</div> 

PHP код:

$file_name = basename($_FILES['file']['name']); 
$file_tmp_name = $_FILES['file']['tmp_name']; 

Сценарий терпит неудачу, потому что 'файл' не определен в массиве $ _FILES - потому что массив $ _FILES пуст.

Спасибо!

+1

try 'post_max_size = 20M' также проверить, используются ли ваши конфигурации' phpinfo() ' – bansi

ответ

1

У PHP есть путаница в выполнении загрузки файлов. Чтобы установить больший размер загружаемого файла, вы должны установить как upload_max_filesize, так и post_max_size. Они могут быть независимо разными значениями, поскольку они делают разные вещи.

post_max_size - максимальный размер файла, который может быть отправлен в POST-запросе на PHP-скрипт. upload_max_filesize Максимальный размер файла разрешен через любой метод.

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