首页>>新闻中心>>PHP学习

限制上传文件的大小

来源: 本站    发布时间: 2014-12-14 22:10    阅读次数:

控制上传文件的大有两个关键点:第一点是PHP的配置文件php.ini对上传文件的控制,如果上传文件的大小超过其指定的范围,那么上传就会执行失败,第二点是在PHP配置文件允许的范围内,在程序对上传文件的控制。

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

file_uploads:如果值是on,说明服务器支持文件上传;如果为off,则不支持。一般默认是支持的不需要修改。

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

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

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

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

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

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

enctrype="multipart/form-dat",指定表单编码数据方式。

method="post",指定数据的传输方式。

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

关注一起设计吧

一起设计吧
BACK