当前位置:首页 > PHP教程 > php文件操作 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2018-09-25 10:45:30 浏览: 评论:0 

php实现断点续传,就需要把大文件分割成多个小文件,然后单个上传。传完后在合并。

  1. │ merge.php –合并文件脚本  
  2. │ merge.zip –合并后文件  
  3. │ socket.zip –需要分割的文件  
  4. │ split.php –分割文件脚本  
  5. │  
  6. └─split –分割后小文件目录 

下面是源码:

split.php

  1. $fp=fopen("socket.zip","rb"); 
  2. $filesize= 10; 
  3. $i= 0; 
  4. $no= 1; 
  5. while(!feof($fp)) 
  6. $file=fread($fp,$filesize); 
  7.  
  8. $fp2=fopen("./split/socket.port".sprintf("%04d",$no).".".$i."-".($i+$filesize).".tmp","wb"); 
  9. fwrite($fp2,$file,$filesize); 
  10. fclose($fp2); 
  11. $i+=$filesize+1; 
  12. $no++; 
  13.  
  14. fclose($fp); 

merge.php

  1. $filelist=glob('./split/*socket*.tmp'); 
  2. $filesize= 10; 
  3.  
  4. //print_r($filelist); 
  5. $mergeFileName='merg.zip'
  6.  
  7. unlink($mergeFileName); 
  8. $fp2=fopen($mergeFileName,"w+"); 
  9. foreach($filelistas$k=>$v
  10. $fp=fopen($v,"rb"); 
  11. $content=fread($fp,$filesize); 
  12.  
  13. fwrite($fp2,$content,$filesize); 
  14. unset($content); 
  15. fclose($fp); 
  16. echo$k,"\n"
  17. fclose($fp2); 

Tags: 断点 源码 文件

分享到: