修改php.ini文件配置
php.ini文件在不同的集成环境包中都在安装目录的php文件下,如果有多个版本php,则在每个版本里面都会有一个php.ini文件
配置项 功能说明
file_uploads on为 开启文件上传功能,off为关闭
post_max_size 系统允许的POST传参的最大值
upload_max_filesize 系统允许的上传文件的最大值
memory_limit 内存使用限制
【建议尺寸: file_size(文件大小) < upload_max_filesize < post_max_size < memory_limit】
max_execution_time 设定脚本的最大执行时间。
也可以根据需求做适当的改变。通常不需要来修改,系统默认值即可。超大文件上传的时候,可能会涉及到这一项参数的修改
上传时间太长了,会超时。如果你将此项参数设为0,则是不限制超时时间,不建议使。
html页面
1.form 表单中的参数method 必须为post。若为get是无法进行文件上传的
2.enctype须为multipart/form-data
代码链接
文件上传
按照数组和步骤完成文件上传
所有文件的信息存储在$_FILES[‘file’]中
代码链接
多文件上传
写了2个或者多个input
将每个input name设置为”file[]”
对每个input上传文件后 $_FILE[‘file’]的每个属性将变成数组,依次对应每个input上传的文件
上传进度处理
首先要修改php.ini的相关配置
配置项 说明
session.upload_progress.enabled 是否启用上传进度报告(默认开启) 1为开启,0为关闭
session.upload_progress.cleanup 是否在上传完成后及时删除进度数据(默认开启, 推荐开启)
session.upload_progress.prefix[=upload_progress_]
进度数据将存储在_SESSION[session.upload_progress.prefix . _POST[session.upload_progress.name]]
session.upload_progress.name[=PHP_SESSION_UPLOAD_PROGRESS]
如果_POST[session.upload_progress.name]没有被设置, 则不会报告进度.
session.upload_progress.freq[=1%] 更新进度的频率(已经处理的字节数), 也支持百分比表示’%’.
session.upload_progress.min_freq[=1.0] 更新进度的时间间隔(秒)
文件上传的进度信息存储在$_SESSION中
代码链接