我有一个简单的代码如下:
$file_tmp = $_FILES['file']['tmp_name'];
echo $file_tmp;
$file = new SplFileObject($file_tmp);
echo filesize($file_tmp);
['file'] 是 html 表单的字段,用户在其中选择要在 php 编写的操作中处理的文件。
<form method="POST" action="processCity.php" enctype="multipart/form-data">
<h2>Register list of cities from the file:</h2>
<input type="file" name="file" required> <input type="submit" name="btnImport" value="Import">
</form>
当文件超过 2097152 字节,$file_tmp 变量中未返回路径。有人明白这一点吗? 如果文件大小小于或等于上面给出的大小,则一切正常。 ˙_(ツ)_/˙ PHP 8.2.8 Ubuntu 20.04.6
我尝试过:
$file = file($file_tmp);
但它也不起作用。和以前一样,仅当文件大小为 <= 2097152 bytes, the variable is populated with the path information of the file sent from the form with the POST method.
我也在网站上和网站外寻找答案,但没有得到答案。我什至无法想象自己尝试更多东西会是什么样子。
该问题与 php.ini 文件中定义的 upload_max_filesize 有关。并且通过单个请求可以上传的最大文件数定义为
upload_max_filesize = 20M(默认) => 根据您的要求更改它。
max_file_uploads = 20(这是默认限制) => 根据您的要求更改它。