当前位置:首页 > 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. { 
  9. $file=fread($fp,$filesize); 
  10.  
  11. $fp2=fopen("./split/socket.port".sprintf("%04d",$no).".".$i."-".($i+$filesize).".tmp","wb"); 
  12. fwrite($fp2,$file,$filesize); 
  13. fclose($fp2); 
  14. $i+=$filesize+1; 
  15. $no++; 
  16. } 
  17.  
  18. fclose($fp); 
  19. merge.php 
  20.  
  21. <?php 
  22. $filelist=glob('./split/*socket*.tmp'); 
  23. $filesize= 10; 
  24.  
  25. //print_r($filelist); 
  26. $mergeFileName='merg.zip'; 
  27.  
  28. unlink($mergeFileName); 
  29. $fp2=fopen($mergeFileName,"w+"); 
  30. foreach($filelistas$k=>$v) 
  31. { 
  32. $fp=fopen($v,"rb"); 
  33. $content=fread($fp,$filesize); 
  34.  
  35. fwrite($fp2,$content,$filesize); 
  36. unset($content); 
  37. fclose($fp); 
  38. echo$k,"\n"; 
  39. } 
  40. fclose($fp2); 

Tags: 断点 源码 文件

分享到: