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

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

发布:smiling 来源: PHP粉丝网  添加日期:2018-09-28 10:57:38 浏览: 评论:0 

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

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

下面是源码,split.php

  1. <?php 
  2.  
  3. $fp=fopen("socket.zip","rb"); 
  4. $filesize= 10; 
  5. $i= 0; 
  6. $no= 1; 
  7. while(!feof($fp)) 
  8. $file=fread($fp,$filesize); 
  9.  
  10. $fp2=fopen("./split/socket.port".sprintf("%04d",$no).".".$i."-".($i+$filesize).".tmp","wb"); 
  11. fwrite($fp2,$file,$filesize); 
  12. fclose($fp2); 
  13. $i+=$filesize+1; 
  14. $no++; 
  15.  
  16. fclose($fp); 
  17. merge.php 
  18.  
  19. <?php 
  20. $filelist=glob('./split/*socket*.tmp'); 
  21. $filesize= 10; 
  22.  
  23. //print_r($filelist); 
  24. $mergeFileName='merg.zip'
  25.  
  26. unlink($mergeFileName); 
  27. $fp2=fopen($mergeFileName,"w+"); 
  28. foreach($filelistas$k=>$v
  29. $fp=fopen($v,"rb"); 
  30. $content=fread($fp,$filesize); 
  31.  
  32. fwrite($fp2,$content,$filesize); 
  33. unset($content); 
  34. fclose($fp); 
  35. echo$k,"\n"
  36. fclose($fp2); 

Tags: 断点 源码 文件

分享到: