您的位置:首页 > 编程语言 > PHP开发

PHP中,上传/下载文件的限制 (转)

2012-02-09 17:19 309 查看


PHP中,上传/下载文件的限制


发表于 2011
年 04 月 13 日 由 Mond 发表 查看评论


在PHP中,上传文件是一个比较常用的操作。有些情况下,会出现文件上传超时、过大、无法上传等问题。当这些问题发生的时候,可能是代码逻辑的问题,但是,你想过是系统的问题吗?

下面,在这里列举一些在PHP中和文件上传相关联的参数:

max_execution_time:脚本最大执行时间。可以使用set_time_limit()函数来进行更改,单位是秒。在网速不佳的情况下,可能会出现上传文件出现超时,这个时候就应该尝试更改这个参数了。

max_file_uploads:允许上传的最大文件数。可曾有过制作相册的时候,一次性上传文件数量太多(如100),结果只能上传一部分(如20)的情况?这个时候就需要对这个参数进行设置了。

memory_limit:内存限制。当这个限制了一个值,例如10M,那么你就无法上传大于10M的文件或者总和大于10M的文件;同样的,你也不能用文件系统函数来读取大于10M的文件了。如果你使用的是readfile()等机制来下载文件,那可就要注意了。

post_max_size:允许最大的POST尺寸。众所周知,文件是通过POST上传的,当这个值小的时候,你上传的文件也不能大到哪里去。

upload_max_filesize:允许最大的上传文件尺寸。这个嘛,就不用多说了吧。

也就是说,影响文件上传的大小的参数有:memory_limit,post_max_size,upload_max_filesize这3个,当这3个处于不同的值的时候,就会以最小的值为准。影响下载文件(特指readfile等方式)的大小,就是memory_limit了。最后提醒一点:处理的文件太大时,记得保证要有足够的脚本执行时间。在不更改PHP.ini文件的情况下,通过int_set()函数就能轻易修改这些参数了,当然,部分主机商会禁用这个函数。格式如下:ini_set(‘memory_limit’,104857600),第二个参数值的单位是:字节。

本站文章,除非注明为转载,否则均为原创文章,转载请注明出处
http://www.wlshare.com,我们爱分享
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php upload 脚本 相册 file ini