温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

使用PHP怎么实现断点续传乱序合并文件

发布时间:2021-05-18 16:59:59 阅读:130 作者:Leah 栏目:开发技术
PHP开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

这期内容当中小编将会给大家带来有关使用PHP怎么实现断点续传乱序合并文件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

分割成多个文件发送,由于网络原因并不上先发就能发接收到。所以我们不能按顺序合并。

分割文件源码前面一篇文章《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$contentstrlen($content));
  unset($content);
  fclose($fp);
}
fclose($fp2);

补充:前文中的分割文件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);

php是什么语言

php,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种 HTML 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。

上述就是小编为大家分享的使用PHP怎么实现断点续传乱序合并文件了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI

开发者交流群×