php断点续传之文件分割合并详解

yipeiwu_com7年前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,"\n";
}
  fclose($fp2);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【宜配屋www.yipeiwu.com】。

相关文章

php获取客户端电脑屏幕参数的方法

本文实例讲述了php获取客户端电脑屏幕参数的方法。分享给大家供大家参考。具体分析如下: 首先需要说明的是php是服务器端的语言,是获取不到客户端的屏幕的宽度和高度的。但是有变通的方法就是...

PHP读取XML文件的方法实例总结【DOMDocument及simplexml方法】

本文实例讲述了PHP读取XML文件的方法。分享给大家供大家参考,具体如下: 使用DOMDocument对象读取xml 创建一个DOMDocument对象 $doc = new DOM...

MacOS 安装 PHP的图片裁剪扩展Tclip

Tclip 用于图片裁剪,有以下特点: 能进行人脸识别。图片中有人脸,将自动视为人脸区域为重要区域,将不会被裁剪掉。 自动识别其它重要区域。如果图片中未识别出人脸,则会根据特征分布计算出...

用PHP实现弹出消息提示框的两种方法

方法一:复制代码 代码如下:echo "<script>alert('提示内容')</script>";方法二:复制代码 代码如下:echo '<scrip...

PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法

复制代码 代码如下: <?php $magic_quotes_gpc = get_magic_quotes_gpc(); @extract(daddslashes($_COOKIE...