志在指尖
用双手敲打未来

PHP完成文件分片上传的办法

PHP用超级全局变量数组$_FILES来记录文件上传相关信息的。
1.file_uploads=on/off
是否答应通过http办法上传文件
2.max_execution_time=30
答应脚本最大履行时间,超越这个时间就会报错
3.memory_limit=50M
设置脚本能够分配的最大内存量,防止失控脚本占用过多内存,此指令只有在编译时设置了。
–enable-memory-limit标志的状况下才生效
4.upload_max_filesize=20M
答应上传文件的最大巨细,此指令有必要小于post_max_size
5.upload_tmp_dir
上传文件暂时寄存目录
6.post_max_size=30M
答应post办法能够接受最大巨细
$_FILES[‘myFile’][‘name’]客户端上次文件的原始名称。
$_FILES[‘myFile’][‘type’]文件的MIME类型,需要浏览器供给该信息的支持,例如”image/gif”。
$_FILES[‘myFile’][‘size’]已上传文件的巨细,单位为字节。
$_FILES[‘myFile’][‘tmp_name’]文件被上传后在服务端储存的暂时文件名,一般是体系默许。能够在php.ini的upload_tmp_dir指定,但用putenv()函数设置是不起作用的。
$_FILES[‘myFile’][‘error’]和该文件上传相关的状况码。[‘error’]是在PHP4.2.0版本中增加的。下面是它的阐明:(它们在PHP3.0以后成了常量)
UPLOAD_ERR_OK
值:0;没有错误发作,文件上传成功。
UPLOAD_ERR_INI_SIZE
值:1;上传的文件超越了php.ini中upload_max_filesize选项限制的值。
UPLOAD_ERR_FORM_SIZE
值:2;上传文件的巨细超越了HTML表单中MAX_FILE_SIZE选项指定的值。
UPLOAD_ERR_PARTIAL
值:3;文件只有部分被上传。
UPLOAD_ERR_NO_FILE
值:4;没有文件被上传。
值:5;上传文件巨细为0.
文件被上传完毕后,默许地被存储在了暂时目录中,这时您有必要将它从暂时目录中删去或移动到其它地方,假如没有,则会被删去。
也便是不管是否上传成功,脚本履行完后暂时目录里的文件肯定会被删去。
附:修正PHP上传文件巨细限制的办法
1.一般的文件上传,除非文件很小。就像一个5M的文件,很可能要超越一分钟才干上传完。
但在php中,默许的该页最久履行时间为30秒.便是说超越30秒,该脚本就停止履行.
这就导致出现无法翻开网页的状况,这时咱们能够修正max_execution_time
在php.ini里查找
max_execution_time
默许是30秒.改为
max_execution_time=0
0表示没有限制
2.修正post_max_size设定POST数据所答应的最大巨细。此设定也影响到文件上传。
php默许的post_max_size为2M.假如POST数据尺度大于post_max_size$_POST和$_FILESsuperglobals便会为空.
查找post_max_size.改为
post_max_size=150M
3.很多人都会改了第二步,但上传文件时最大依然为8M。
为什么呢.咱们还要改一个参数upload_max_filesize表示所上传的文件的最大巨细。
查找upload_max_filesize,默许为8M改为
upload_max_filesize=100M
另外要阐明的是,post_max_size大于upload_max_filesize为佳.

未经允许不得转载:IT技术网站 » PHP完成文件分片上传的办法
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载