php断点续传之乱序合并文件

来源:互联网 发布:软件项目经理培训班 编辑:程序博客网 时间:2024/05/21 09:10
分割成多个文件发送,由于网络原因并不上先发就能发接收到。所以我们不能按顺序合并。

分割文件源码上一篇文章 (PHP断点续传之文件分割合并)

merge2.php

<?php$fileTotaiSize = filesize("socket.zip");$filelist = glob('./split/*socket*.tmp');$filesize = 3096;//打乱读取文件顺序shuffle($filelist);$mergeFileName = 'merg2.zip'; if(is_file($mergeFileName)) {    unlink($mergeFileName); }    $fp2 = fopen($mergeFileName,"w+");    //创建空白文件    $str = str_pad('',$fileTotaiSize);    fwrite($fp2, $str, $fileTotaiSize);foreach($filelist as $k => $v){    $tmp = explode('.',$v);    $len = explode('-', $tmp[3]);    $offset = (int) $len[0];    $fp = fopen($v,  "rb");    $content = fread($fp, $filesize);     echo $offset, "\n";     fseek($fp2, $offset);     fwrite($fp2, $content, strlen($content));     unset($content);     fclose($fp);}    fclose($fp2);
0 0
原创粉丝点击