标签:input 循环 表单 http 代码 初始 default move 断点
上传方式,PHP默认方式 和 FTP 上传
1、修改PHP 配置:
php.ini 修改以下配置项为适合的数据
php中 php.ini 文件修改
file_uploads = On //允许文件上传
upload_tmp_dir = "E:/fileuploadtmp" //暂存空间
upload_max_filesize = 100M //上传文件最大的容量
post_max_size = 120M //上传数据的最大容量
max_execution_time = 600 //最长执行时间(秒)
max_input_time = 600 //上传持续的最长时间(秒)
memory_limit = 256M //内存大小
max_file_uploads = 20 //支持同事上传的文件数量
default_socket_timeout = 300
#提示 memory_limit > post_max_size > upload_max_filesize
如果是wamp 安装的则需要修改apache\bin目录下的php.ini 文件,默认是这个配置文件配置生效
(注意若是用集成环境安装的,则需要注意集成环境实际生效的配置文件是在哪儿)
修改完后重启apache
也可以利用php 函数动态设置
ini_get()获取php.ini设置值
ini_set()设置php.ini
前台:
若文件太大需要进行切割,断点续传
使用XHR2实现对文件的的切割上传
具体代码如下::::
var fileobj = document.getElementByTagName(‘input‘)[i].files[0];//获取文件上传对象的文件资源
const SLICESIZE = 10 * 1024 * 1024;//每次切割的大小,这里是10MB//此处可做修改
var start = 0; //初始化截取开始位置
var end = 0; //初始化截取终止位置
totalsize = fileobj.size; //获取文件的总的大小
while(start < totalsize){ //利用while循环将文件进行截取提交
start = end ; //
end = start + SLICESIZE; //
var xhr = new XMLHttpRequest(); //创建ajax对象
var fd = new FormData(); //创建表单对象
var part = fileobj.slice(start,end);//对文件进行切割,两个参数
fd.append(‘name‘,part);//把切割文件打包进表单对象中以便发送,其中name的值就是服务器$_FILES[‘name‘]接受处的变量名
xhr.open(‘POST‘,‘test.php‘,false);//之所以关闭异步,是为了防止文件块送达服务器的顺序出错
xhr.send(fd);//把打包的数据发送
}
后台:
move_uploaded_file() 移动保存文件
标签:input 循环 表单 http 代码 初始 default move 断点
原文地址:https://www.cnblogs.com/zwesy/p/9529004.html