php 图片 切片,php切片上传

1.前端代码

Document

$(document).ready(function(){

$("#upload_btn").click(function(){

var files = $("#file_tag")[0].files[0];

if(!files){

$("#file_tag").trigger("click");

}

var chunk;//当前页面数值

upload(files);

});

function upload(file){

var tmpName = file.size+"_chunk";

var every_size=1024*1024;//每一页传递的数据

var chunks = Math.ceil(file.size /every_size);//一共多少页

chunk = window.localStorage.getItem(tmpName) || 1;

chunk = parseInt(chunk);

var offset = (chunk-1) * every_size;//开始位置

var limit = chunk * every_size > file.size ? file.size : chunk * every_size;

var page = file.slice(offset,limit);//获取一页的数据

var form = new FormData();//这是一个表单的对象

form.append("page",page);//类似于一个input框

form.append("filename",file.name);//文件名字

var per = (limit/file.size * 100).toFixed(1);

$.ajax({

type : "post",

data:form,

processData : false,//取消服务器对上传文件线程控制

contentType : false,//取消服务器设置上传文件的类型

cache : false,//不需要服务器设置缓存

dataType : 'json',

url : "/upload.php",

success:function(msg){

if(chunk >= chunks ){

$("#per").css({width:"100%"});

$("#per_num").text(100+"%");

}else{

chunk++;

window.localStorage.setItem(tmpName,chunk);

$("#per").css({width:per+"%"});

$("#per_num").text(per+"%");

upload(file);

}

}

});

}

});

2.后端代码

$baseFileName = $_REQUEST['filename'];

$ext = explode(".",$baseFileName)[1];

$fileName=explode(".",$baseFileName)[0];

$arr = $_FILES['page'];

$tmpName = $arr['tmp_name'];

$content = file_get_contents($tmpName);

$fileName = "./{$fileName}.{$ext}";

file_put_contents($fileName,$content,FILE_APPEND);

$arr = array(

'error'=>0,

);

echo json_encode($arr);

标签:chunk,per,切片,tmpName,file,var,php,上传,size

来源: https://www.cnblogs.com/zh718594493/p/13851568.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值