PHP大文件分块上传功能实例介绍
发布时间:2022-07-18 15:03:04 所属栏目:PHP教程 来源:互联网
导读:本文实例讲述了PHP大文件分块上传功能,分享给大家供大家参考,具体如下: 前端代码 使用file.slice将文件进行分割,然后分别进行异步上传。 !DOCTYPE html html lang=zh-cn head meta charset=utf-8 meta http-equiv=X-UA-Compatible content=IE=edge meta
|
本文实例讲述了PHP大文件分块上传功能,分享给大家供大家参考,具体如下: 前端代码 使用file.slice将文件进行分割,然后分别进行异步上传。 <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <body> <div class="container" style="margin-top: 30px;"> <form class="form-inline" method="post" enctype="multipart/form-data"> <div class="form-group"> <input type="file" id="fileBig" class="form-control"> </div> <button type="submit" class="btn btn-primary">提交</button> </form> let fileName = file.name; let fileSize = file.size; console.log('fileSize',fileSize); let blockSize = 0.9*1024*1024; let num = Math.ceil(fileSize/blockSize); let start = 0; let end = 0; for(let i=1;i<=num;i++){ end = blockSize*i; if(end > fileSize){ end = fileSize; } let block = file.slice(start,end); start = end; let fd = new FormData(); contentType:false, success:(res)=>{ console.log('res_'+i+":"); console.log(res); } }) } return false; }); </script> </body> </html> 后端代码 在所有的文件上传成功之后,合并生成原来的大文件 <?php move_uploaded_file($_FILES['block']['tmp_name'],'upload/'.$name."_".$index); $list = scandir('upload'); $num = count($list)-2; echo "cur_num:".$num.PHP_EOL; if($num == $total){ echo "upload done".PHP_EOL; echo $cmd = "cat upload/'{$name}_'* > upload/'{$name}'"; shell_exec($cmd); } (编辑:应用网_丽江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |



浙公网安备 33038102330468号