Heim >Backend-Entwicklung >PHP-Tutorial >php上传文件大小限制的问题

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

WBOY
WBOYOriginal
2016-07-25 08:54:49888Durchsuche
在php中上专文件大小限制的问题如何解决呢?主要是修改配置文件php.ini中的内容,来突破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秒。

就是这些了,在php中解决了上传文件大小限制。



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn