导航:首页 > 编程语言 > php设置上传文件大小

php设置上传文件大小

发布时间:2022-12-25 19:26:47

A. 如何通过配置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”/>控制文件上传大小时,必须将其放置在文件域之前,否则是不能发挥作用的!

B. PHP如何上传大文件

首先设置配置文件:
upload_max_filesize :允许上传文件大小的最大值,默认为2M。可以设置大点;
post_max_size :控制在采用POST方法进行一次表单提交中PHP所能够接收的最大数据量。如果希望使用PHP文件上传功能,则需要将此值改为比upload_max_filesize要大

C. 如何修改PHP上传文件大小限制

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. 在要确认上传的 <form> 里加入以下行:
<input type="hidden" name="MAX_FILE_SIZE" value="4000000000">
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 必须指定上传文件的路径

D. 如何获得php配置文件上传文件大小

1、php.ini:upload_max_filesize 所上传的文件的最大大小。默认值2M。

2、php.ini:memory_limit 本指令设定了一个脚本所能够申请到的最大内存字节数,默认值8M。如果不需要任何内存上的限制,必须将其设为 -1。如果内存不够,则可能出现错误:Fatal error: Allowed memory size of X bytes exhausted (tried to allocate Y bytes)

3、php.ini:post_max_size 设定POST数据所允许的最大大小。此设定也影响到文件上传。要上传大文件,该值必须大于 upload_max_filesize。

E. 如何设置php上传文件大小限制

在php.ini中搜索upload_max_filesize
如果没有,请自行添加
upload_max_filesize = 1024M表示最大上传文件大小为1G,按自己的需求修改这个值即可
修改完后重启服务器或php-fpm服务使配置生效即可

阅读全文

与php设置上传文件大小相关的资料

热点内容
刷脸支付oem需要源码吗 浏览:166
如何在线压缩动态图片 浏览:113
vb字母表加密 浏览:613
红帽磁盘命令 浏览:868
cmd命令大全ip地址 浏览:14
服务器被攻击什么意思 浏览:73
看去哪个app 浏览:163
埃微手环用什么app 浏览:567
培训需要编程基础吗 浏览:338
程序员写论文需要什么条件 浏览:600
三菱电机压缩机待遇 浏览:889
android电源关机 浏览:521
重新定义程序员教程 浏览:541
程序员小白是什么水平 浏览:810
ug编程刀具移动高度 浏览:928
程序员思想和人交互 浏览:567
程序员编写的软件 浏览:290
透传命令 浏览:381
raptor冒泡排序编程 浏览:707
怎么给安卓刷其他系统 浏览:553