我无法在PHP中读取大小约为25mb的文件。我已经尝试将最大输入文件大小更改为50mb,但它仍然无法正常工作。 这是表单的代码。
<html>
<body>
<form action="parsed_xml.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>
这是PHP文件的代码:
<?php
if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "<br>";
}
else
{
print_r ($_FILES["file"]);
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
}
?>
我没有收到任何错误,$ _FILES数组中没有存储任何内容。
由于
詹姆斯
答案 0 :(得分:4)
听起来你需要在php.ini文件中增加Apache设置的限制:
post_max_size=50M
upload_max_filesize=50M
如果您无权访问ini文件,请让您的主机增加限制。
答案 1 :(得分:2)
两个PHP配置选项控制最大上传大小:upload_max_filesize
和post_max_size
。对于10兆字节的文件大小,两者都可以设置为“10M”。
但是,您还需要考虑完成上传所需的时间。 PHP脚本通常会在30秒后超时,但10MB文件在健康的宽带连接上上传至少需要3分钟(请记住,上传速度通常比下载速度慢5倍)。此外,操纵或保存上载的图像也可能导致脚本超时。因此,我们需要将PHP的max_input_time
和max_execution_time
设置为300(以秒为单位指定5分钟)。
您可以使用以下方式进行设置:
1. in php.ini - set these values and restart server
2. set it in htaccess
3. Set in your php code using ini_set
答案 2 :(得分:0)
检查服务器的上传限制。您需要增加它才能上传大文件。
只需检查一下:您是否在更改配置后重新启动了PHP进程?
答案 3 :(得分:0)
只需增加“php.ini”中的最大文件大小,或者如果您无法访问php.ini,请在您的Web根目录中创建“.htaccess”。
示例10MB:
upload_max_filesize = 10M
post_max_size = 10M
答案 4 :(得分:0)
如果您无法访问php.ini文件,请使用“ini_set”函数。