angularjs — $ _FILES пусто после загрузки большого файла в Azure

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

Загрузка файла и скрипт работают с небольшими файлами (проверено на < 1MB), но не на файл большего размера (9MB). Это заставляет меня поверить, что есть проблема с загрузкой файлов. Однако я уже создал файл .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'];

Сценарий завершается ошибкой, поскольку ‘file’ не определен в массиве $ _FILES — потому что массив $ _FILES пуст.

Спасибо!

0

Решение

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

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

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]