加入收藏 | 设为首页 | 会员中心 | 我要投稿 西双版纳站长网 (https://www.0691zz.com.cn/)- 数据计算、IT业界、服务器、教程、云日志!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php断点续传时如何把大文件分割的源码详解

发布时间:2022-09-20 04:16:11 所属栏目:PHP教程 来源:互联网
导读:php实现断点续传,就需要把大文件分割成多个小文件,然后单个上传。传完后在合并。 │ merge.php 合并文件脚本 │ merge.zip 合并后文件 │ socket.zip 需要分割的文件 │ split.php 分割文件脚本 │ └─split 分割后小文件目录 下面是源码,split.php ?php
  php实现断点续传,就需要把大文件分割成多个小文件,然后单个上传。传完后在合并。
 
  │ merge.php –合并文件脚本  
  │ merge.zip –合并后文件  
  │ socket.zip –需要分割的文件  
  │ split.php –分割文件脚本  
  │  
  └─split –分割后小文件目录
  下面是源码,split.php
 
  <?php
   
  $fp=fopen("socket.zip","rb");
  $filesize= 10;
  $i= 0;
  $no= 1;
  while(!feof($fp))
  {
  $file=fread($fp,$filesize);
   
  $fp2=fopen("./split/socket.port".sprintf("%04d",$no).".".$i."-".($i+$filesize).".tmp","wb");
  fwrite($fp2,$file,$filesize);
  fclose($fp2);
  $i+=$filesize+1;
  $no++;
  }
   
  fclose($fp);
  merge.php
   
  <?php
  $filelist=glob('./split/*socket*.tmp');
  $filesize= 10;
   
  //print_r($filelist);
  $mergeFileName='merg.zip';
   
  unlink($mergeFileName);
  $fp2=fopen($mergeFileName,"w+");
  foreach($filelistas$k=>$v)
  {
  $fp=fopen($v,"rb");
  $content=fread($fp,$filesize);
   
  fwrite($fp2,$content,$filesize);
  unset($content);
  fclose($fp);
  echo$k,"n";
  }
  fclose($fp2);
   

(编辑:西双版纳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读