php在操作断点续传时文件如何分割合并

Posted PHP自学中心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php在操作断点续传时文件如何分割合并相关的知识,希望对你有一定的参考价值。


文章来自于脚本之家

链接:https://www.jb51.net/article/99862.htm

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($filelist as $k => $v)
{
  $fp = fopen($v, "rb");
   $content = fread($fp, $filesize);

   fwrite($fp2, $content, $filesize);
   unset($content);
   fclose($fp);
   echo $k," ";
}
  fclose($fp2);



以上是关于php在操作断点续传时文件如何分割合并的主要内容,如果未能解决你的问题,请参考以下文章

大文件上传下载实现思路,分片断点续传代码实现,以及webUpload组件

断点续传

前端实现文件的断点续传

前端实现文件的断点续传

Android 多线程下载,断点续传,线程池

前端实现文件的断点续传