登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

糟老頭的地盤

老頭的地盤听老頭的

 
 
 

日志

 
 

关于php上传文件大小限制的问题  

2007-07-24 07:50:19|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

关于php上传文件大小限制的问题

从 PHP 4.2.0 开始,PHP 将随文件信息数组一起返回一个对应的错误代码。该代码可以在文件上传时生成的文件数组中的 ['error'] 字段中被找到,也就是 $_FILES['userfile']['error']。

UPLOAD_ERR_INI_SIZE

值:1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。

UPLOAD_ERR_FORM_SIZE

值:2; 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。

一些注意事项

对 MAX_FILE_SIZE 设置的值,不能大于 ini 设置中 upload_max_filesize 选项设置的值。其默认值为 2M 字节。

如果内存限制设置被激活,您可能需要将 memory_limit 设置的更大些,请确认 memory_limit 的设置足够的大。

如果 max_execution_time 设置的值太小,脚本运行的时间可能会超过该设置。因此,也请保证 max_execution_time 足够的大。

注: max_execution_time 仅仅只影响脚本本身运行地时间。任何其它花费在脚本运行之外的时间,诸如用函数 system() 对系统的调用、sleep() 函数的使用、数据库查询、文件上传等,在计算脚本运行的最大时间时都不包括在内。

如果 post_max_size 设置的值太小,则较大的文件会无法被上传。因此,请保证 post_max_size 的值足够的大。

不使您操作的文件有效化,可能意味着用户能够访问其它目录下的敏感信息。

请注意 CERN httpd 似乎会丢弃它从客户端获得的 content-type mime 头信息中第一个空格后所有的内容,基于这一点,CERN httpd 不支持文件上传特性。

鉴于文件路径的表示方法有很多种,我们无法确保用使用各种外语的文件名(尤其是包含空格的)能够被正确的处理。

摘自PHP手册

其实这个东西很容易绕过的,先用JS确认一下比较保险

关于上传文件的限制,懂的帮忙来看一下

系统:

redhat 9+Apache 2.0 Filter+php 4.2.2

不知道怎么回事,上传大于512k的文件的时候就会显示找不到服务器。而且是没有经过上传过程,直接就找不到服务器了。

看了一下apache日志,发现上传的时候,造成下面的错误信息:

[Wed May 12 17:05:10 2004] [error] [client 10.133.9.4] Requested content-length of 2025891 is larger than the configured limit of 524288

我想,这应当是对上传文件的限制吧,可是在httpd.conf 里面找不到这个设置。

php.ini 里面到是有,可以我都已经设置成 8M 了。

另外error_log 里面还有些错误信息不知道是什么原因造成的

[Wed May 12 17:04:58 2004] [notice] Digest: generating secret for digest authentication ...

[Wed May 12 17:04:58 2004] [notice] Digest: done

[Wed May 12 17:04:59 2004] [info] (32)Broken pipe: core_output_filter: writing data to the network

[Wed May 12 17:04:59 2004] [notice] Apache/2.0.40 (Red Hat Linux) configured -- resuming normal operations

; Maximum allowed size for uploaded files.
upload_max_filesize = 2M

一般PHP上传的限制设置在php.ini里面了,注意更改后要重新启动才会生效!

 

Originally posted by cnteacher at 2004-5-12 05:43 PM:
524288

这个设置在另外一个文件里面! /etc/httpd/conf.d/ 下的php.conf

 

 

php.ini里超时时间30秒太短了,改长点,比如300秒

  评论这张
 
阅读(2770)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018