如何通过配置php文件限制上传文件的大小

在网站开发的过程中,为了确保能够充分利用服务器的空间,在开发上传功能时,必须对上传文件的大小进行控制。那么我们如何进行对上传文件的大小进行控制呢?

控制文件的大小可以从两个方面入手:

第一个是在PHP的配置文件php.ini中对上传文件进行控制,如果上传文件超过它指定的范围,那么执行上传就会识别。

第二个是在PHP配置文件允许的范围内,在程序中对上传文件的大小进行控制!

一:通过配置文件控制上传文件

PHP中通过php.ini文件对上传文件进行控制,包括是否支持上传,上传文件的临时文件目录,上传文件的大小,指令执行时间,指令分配的内存空间。

在php.ini中,定义 File Uploads项,完成对上传相关选项的设置。上传相关选项的含义如下:

file_uploads:如果值是 no,说明服务器支持上传文件,如果为off ,那么则不支持。一般默认是支持的,这个不用修改!

upload_tmp_dri:上传文件临时目录。文件被成功上传之前,文件首先存放到服务器端的临时目录中。多数使用系统默认目录,但是也可以自行设置!

upload_max_filesize:服务器允许上传文件的最大值,以MB为单位,系统默认为2MB,如果网站需要上传超过2MB的数据,那么就要修改这个值!

上述是php.ini中 File_Uploads项中与上述相关参数设置说明,除了File_Uploads项中的内容外,在php.ini中还有其他几个选项会影响到文件的上传~

max_execution_time:PHP中一个指令所能执行的最大时间,单位为秒。该选项在上传超大文件时必须要修改,否则即使上传文件在服务器允许的范围内,但是若超过了指令所能执行的最大时间,仍然无法实现上传~

memory_limit:PHP中一个指令所分配的内存空间,单位是 MB 。它的大小同样会影响得到超大文件的上传!

二:在程序中控制上传文件

在客户端控制上传文件应用的是 form 表单中的 enctype 和 method属性以及隐藏域 MAX_FILE_SIZE。

enctype = “multipart/form-data”:指定表单编码数据方式。

method = “post”:指定数据的传输方式。

<input type = "hidden" name="MAX_FILE_SIZE" value=“10000”/>:通过隐藏域控制上传文件的大小(单位为字节),该值不能超过php.ini配置文件中 upload_max_filesize 选项设置的值,它不能喝完全控制上传文件的大小。只是可以避免一些不必要的麻烦。

技巧:

在应用隐藏域<input type = "hidden" name="MAX_FILE_SIZE" value=“10000”/>控制文件上传大小时,必须将其放置在文件域之前,否则是不能发挥作用的!



一:通过配置文件控制上传文件
PHP中通过php.ini文件对上传文件进行控制,包括是否支持上传,上传文件的临时文件目录,上传文件的大小,指令执行时间,指令分配的内存空间。
在php.ini中,定义 File Uploads项,完成对上传相关选项的设置。上传相关选项的含义如下:
file_uploads:如果值是 no,说明服务器支持上传文件,如果为off ,那么则不支持。一般默认是支持的,这个不用修改!
upload_tmp_dri:上传文件临时目录。文件被成功上传之前,文件首先存放到服务器端的临时目录中。多数使用系统默认目录,但是也可以自行设置!
upload_max_filesize:服务器允许上传文件的最大值,以MB为单位,系统默认为2MB,如果网站需要上传超过2MB的数据,那么就要修改这个值!
上述是php.ini中 File_Uploads项中与上述相关参数设置说明,除了File_Uploads项中的内容外,在php.ini中还有其他几个选项会影响到文件的上传~
max_execution_time:PHP中一个指令所能执行的最大时间,单位为秒。该选项在上传超大文件时必须要修改,否则即使上传文件在服务器允许的范围内,但是若超过了指令所能执行的最大时间,仍然无法实现上传~
memory_limit:PHP中一个指令所分配的内存空间,单位是 MB 。它的大小同样会影响得到超大文件的上传!
二:在程序中控制上传文件
在客户端控制上传文件应用的是 form 表单中的 enctype 和 method属性以及隐藏域 MAX_FILE_SIZE。
enctype = “multipart/form-data”:指定表单编码数据方式。
method = “post”:指定数据的传输方式。
<input type = "hidden" name="MAX_FILE_SIZE" value=“10000”/>:通过隐藏域控制上传文件的大小(单位为字节),该值不能超过php.ini配置文件中 upload_max_filesize 选项设置的值,它不能喝完全控制上传文件的大小。只是可以避免一些不必要的麻烦。

如何设置apache+php的上传文件大小上限~

完整修改步骤:
1.修改Apache设置
在httpd.conf 加一句(随便加哪都行) LimitRequestBody 10240000(这个数字多大都可以,我设的上限是10M)
2.修改PHP设置
相关的设置有如下几个,但是我只改了其中的post_max_size

(下面的内容是直接粘第一篇文章里的)
打开php.ini, Ctrl+F 找到下面的项并修改之。下面以上传100M为例。
file_uploads = on ;是否允许通过HTTP上传文件的开关。默认为ON即是开
upload_tmp_dir ;文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹
upload_max_filesize = 100m ;望文生意,即允许上传文件大小的最大值。默认为2M
post_max_size = 100M ;指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M
一般地,设置好上述四个参数后,上传<=8M的文件是不成问题,在网络正常的情况下。
但如果要上传>8M的大体积文件,只设置上述四项还一定能行的通。除非你的网络真有100M/S的上传高速,否则你还得关心关心下面的参数:
max_execution_time = 600 ;每个PHP页面运行的最大时间值(秒),默认30秒
max_input_time = 600 ;每个PHP页面接收数据所需的最大时间,默认60秒
memory_limit = 128M ;每个PHP页面所吃掉的最大内存,默认8M
希望可以采纳,谢谢。

1. 在php.ini中,做如下修改:
file_uploads = on
upload_tmp_dir = /home/upload
upload_max_filesize = 4000M
post_max_size = 4000M
一般地,设置好上述四个参数后,上传<=8M的文件是不成问题,在网络正常的情况下。
但如果要上传>8M的大体积文件,只设置上述四项还一定能行的通。除非你的网络真有100M/S的上传高速,否则你还得关心关心下面的参数:
max_execution_time = 600
max_input_time = 600
memory_limit = 128M

2. 在要确认上传的 里加入以下行:

3. $_FILES["userfile"]["error"]返回值说明:
$_FILES['teacher_pic']['error'] = 1 文件大小超过了PHP.ini中的文件限制
$_FILES['teacher_pic']['error'] = 2 文件大小超过了浏览器限制
$_FILES['teacher_pic']['error'] = 3 文件部分被上传
$_FILES['teacher_pic']['error'] = 4 没有找到要上传的文件
$_FILES['teacher_pic']['error'] = 5 服务器临时文件夹丢失
$_FILES['teacher_pic']['error'] = 6 文件写入到临时文件夹出错
$_FILES['teacher_pic']['error'] = -1 末充许的类型
$_FILES['teacher_pic']['error'] = -2 文件过大,上传文件不能超过{$this->maxSize}个字节
$_FILES['teacher_pic']['error'] = -3 上传失败
$_FILES['teacher_pic']['error'] = -4 建立存放上传文件目录失败,请重新指定上传目录
$_FILES['teacher_pic']['error'] = -5 必须指定上传文件的路径

#18432939837# 如何设置apache+php的上传文件大小上限 - ******
#潘茜# 打开你的php安装目录, 找到 php.ini 并打开.再搜索到这一行:upload_max_filesize = 2M 更改为自己需要的数字后重启你的服务器即可.

#18432939837# 如果要停止文件的上传,请问如何让php停止? ******
#潘茜# 页面直接退出,同时结束当前的字节数

#18432939837# 如何用PHP控制文件上传类型?如*.jpg. - ******
#潘茜# 截取文件扩展名,如最后一个字符为"."以后字符,这样就获得了扩展名,然后做字符匹配,发现是jpg文件做处理,这里可以忽律大小写.

#18432939837# 怎样修改php虚拟空间单个文件上传大小限制 - ******
#潘茜# 朋友你好,很希望能帮到你怎样修改php虚拟空间单个文件上传大小限制 m酡kㄚe辏pbνcn{w忙juΑ 这个是idc服务商ftp上传限制文件大小, 自己修改不了的,需要的话你可考虑一下中国稳速的空间,他们的空间ftp上传不限制文件大小的

#18432939837# php服务器文件上传大小被限制如何修改? - ******
#潘茜# post_max_size 属于 PHP_INI_PERDIR 属性,只能在 php.ini, .htaccess 或 httpd.conf 中设置,如果 php.ini 或者 httpd.conf 都无权限的话(虚拟主机通常如此),那么只能通过 .htaccess 来设置(虚拟主机通常支持).参考设置如下:.htaccess里...

#18432939837# IIS7.0 以fastCgi 模式运行PHP 上传文件大小限制 怎么设置 - ******
#潘茜# 打开系统盘找到 C:\Windows\System32\inetsrv\config\schema目录,该目录下有一个IIS_schema.xml,右击打开文件,Ctrl+F,然后输入"",找到该配置节点,看到有一个defaultValue=30000000,不错,就是它限制了上传文件的大小,修改它就可以了,文件是只读属性!要先把文件的只读属性改掉.

#18432939837# 怎么修改PHP的最大 传输限制? - ******
#潘茜# 修改php.ini 找到:max_execution_time = 30 //这个是每个脚本运行的最长时间,单位秒 修改为:max_execution_time = 150 找到:max_input_time = 60 //这是每个脚本可以消耗的时间,单位也是秒 修改为:max_input_time = 300 找到:memory...

#18432939837# 如何取消php最大上传文件限制? - ******
#潘茜# 一、修改php.ini文件.1、查找post_max_size,指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值,默认为8M,看你自己需要进行改变.2、查找File Uploads,首先确认file_uploads = on ;是否允许通过HTTP上传文件的开关...

#18432939837# 怎么修改PHP的最大 传输限制? - ******
#潘茜# 修改php.ini配置文件找到upload_max_size,修改成你想要的大小,exp:50M;【...

#18432939837# 如何配置vsftpd服务器,限制用户上传文件大小 - ******
#潘茜# 如果是是php的,可以通过php.ini配置来限制上传文件大小.

  • php中WEB上传文件的原理是什么,如何限制上传文件的大小?
  • 答:php.ini:upload_max_filesize 所上传的文件的最大大小。默认值2M。

  • 如何设置apache+php的上传文件大小上限
  • 答:相关的设置有如下几个,但是我只改了其中的post_max_size (下面的内容是直接粘第一篇文章里的)打开php.ini, Ctrl+F 找到下面的项并修改之。下面以上传100M为例。file_uploads = on ;是否允许通过HTTP上传文件的开关...

  • php最大能传多大的文件
  • 答:默认只能传最大 2M 的文件。不过,可以配置php.ini文件,修改上传文件大小的限制。配置php.ini文件 (以上传500M以下大小的文件为例)查找以下选项并修改-> file_uploads = On ;打开文件上传选项 upload_max_filesize = ...

  • 关于php控制上传文件目录的问题
  • 答:回答:你直接在move_uploaded_file(临时文件,新文件名) 函数的第二个参数加上路径就Ok! 如: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-...

  • 如何配置vsftpd服务器,限制用户上传文件大小
  • 答:如果是是php的,可以通过php.ini配置来限制上传文件大小。

  • 求php怎么实现web端上传超大文件
  • 答:文件被上传结束后,默认地被存储在了临时目录中,这时您必须将它从临时目录中删除或移动到其它地方,如果没有,则会被删除。也就是不管是否上传成功,脚本执行完后临时目录里的文件肯定会被删除。附:修改PHP上传文件大小限制...

  • 如何在wordpress上增加文件上传的大小限制 碰到这么一个问题,需要在一...
  • 答:upload_max_filesize = 20M 然后我们把这个文件更名为php5.ini。请注意,上面我控制上传文件大小和文章大小为20M,你可以根据你自己的需要设置上限。下一步我们打开文件wp-config.php文件,看到这个是不是很熟悉?这个文件就...

  • php文件上传失败的问题
  • 答:在用PHP进行文件上传的操作中,需要知道怎么控制上传文件大小的设置,而文件可传大小是受到多种因素制约的,现总结如下:1、php.ini:upload_max_filesize 所上传的文件的最大大小。默认值2M。2、php.ini:memory_limit 本...

  • ...或其中post_max_size的值小于upload_max_filesize的值。
  • 答:这个应该是上传文件超过了2M,即PHP默认的最大上传大小,你可以设置下。配置php.ini文件 (以上传500M以下大小的文件为例)查找以下选项并修改-> file_uploads = On ;打开文件上传选项 upload_max_filesize = 500M ;上传...

  • PHP上传文件大小被限制。
  • 答:不用echo,直接在新行里写:error_reporting(E_ALL & ~E_NOTICE);这句话就是让PHP有错时提示你。报什么错?没有报错的话,加一句:error_reporting(E_ALL & ~E_NOTICE);php.ini里做了限制,默认是2兆:post_max_...

    为传递更多家电数码信息,若有事情请联系
    数码大全网