我正在尝试使用php脚本上传1GB大小的文件,如果文件大小小于20MB,它可以正常工作,但是当我增加文件大小比按下网站上的上传按钮后,它上传文件(我想它需要几分钟)之后,而不是执行upload.php,我的firefox要求我下载upload.php,所以我猜,文件正在上传,但我的PHP脚本无法执行.
在谷歌搜索后,我发现我做的php.ini的以下设置,我的php_info()函数显示我的设置已被更改..
/ *php.ini start* /
memory_limit = 512M
post_max_size = 15000M
file_uploads =开
upload_max_filesize = 15000M
max_input_time = 20000
max_execution_time = 20000
session.gc_maxlifetime = 20000
/ *php.ini结束* /
文件大小上传的限制受到的限制不仅仅是PHP.PHP有其局限性,Apache有其限制,许多Web服务都有自己的限制,然后您对/ tmp目录大小有限制,可以通过共享主机上的用户权限设置.更不用说刚刚耗尽硬盘空间!
你的php.ini看起来不错,但正如已经建议的那样 - 检查Apache中的LimitRequestBody并确保你的web服务允许这样做.
当您需要上传非常大的文件时,一种常见的解决方案是在客户端使用Flash或Java,因为它们可以访问客户端的实际文件系统.然后,Flash/Java可以将文件分成小块,一次发送一个并在服务器端重新组装.这有很多好处.首先,您可以恢复损坏的下载.其次,您不必担心任何脚本超时.第三,它绕过了PHP,Apache,Web服务或其他来源可能发挥的任何可能的文件系统限制.
| 归档时间: |
|
| 查看次数: |
13938 次 |
| 最近记录: |