HTML⼤⽂件上传源代码
PHP⽤超级全局变量数组$_FILES来记录⽂件上传相关信息的。
1.file_uploads=on/off
是否允许通过http⽅式上传⽂件
2.max_execution_time=30
允许脚本最⼤执⾏时间,超过这个时间就会报错
<_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'] 是在 PHP 4.2.0 版本中增加的。下⾯是它的说明:(它们在PHP3.0以后成了常量)
UPLOAD_ERR_OK
值:0; 没有错误发⽣,⽂件上传成功。
UPLOAD_ERR_INI_SIZE
值:1; 上传的⽂件超过了 php.ini 中 upload_max_filesize 选项限制的值。
UPLOAD_ERR_FORM_SIZEphp文件下载源码
值: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 和 $_FILES superglobals 便会为空.查 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 为佳.
上传效果展⽰:
其他详细配置问题可以参考我写的这篇⽂章:
讨论:374992201
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论