PHP - 在 Azure 上上传大文件后 $_FILES 为空
PHP - $_FILES empty after large file upload on Azure
我已经使用 ng-file-upload 插件 (https://github.com/danialfarid/ng-file-upload) 设置了基于 Angular 的文件上传,并且我一直在使用 PHP 脚本处理文件上传.
文件上传和脚本适用于较小的文件(在 < 1MB 上测试过),但在较大的文件 (9MB) 上失败。这让我相信存在文件上传问题。但是,我已经在 /wwwroot 文件夹中用一行创建了一个 .user.ini 文件:
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 数组为空。
谢谢!
PHP 对文件上传有一个困惑。要设置更大的上传大小,您应该同时设置 upload_max_filesize
和 post_max_size
。这些可以是独立的不同值,因为它们做不同的事情。
post_max_size
是可以在 POST 请求中发送到 PHP 脚本的最大文件大小。 upload_max_filesize
是通过 any 方法允许的最大文件大小。
我已经使用 ng-file-upload 插件 (https://github.com/danialfarid/ng-file-upload) 设置了基于 Angular 的文件上传,并且我一直在使用 PHP 脚本处理文件上传.
文件上传和脚本适用于较小的文件(在 < 1MB 上测试过),但在较大的文件 (9MB) 上失败。这让我相信存在文件上传问题。但是,我已经在 /wwwroot 文件夹中用一行创建了一个 .user.ini 文件:
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 数组为空。
谢谢!
PHP 对文件上传有一个困惑。要设置更大的上传大小,您应该同时设置 upload_max_filesize
和 post_max_size
。这些可以是独立的不同值,因为它们做不同的事情。
post_max_size
是可以在 POST 请求中发送到 PHP 脚本的最大文件大小。 upload_max_filesize
是通过 any 方法允许的最大文件大小。