php断点续传之如何分割合并文件

 这篇文章主要介绍了php断点续传之如何分割合并文件,需要的朋友可以参考下

 代码如下:
<?php 
ini_set("memory_limit", "50M");//必须的,根据你环境的实际情况尽量大,防止报错 
ini_set("max_execution_time", "100"); 
//file_exists() 函数检查文件或目录是否存在,存在则返回 true,否则返回 false。 
//fread() 函数读取文件(可安全用于二进制文件)。fread() 从文件指针 file 读取最多 length 个字节。 
//filesize() 函数返回指定文件的大小(字节)。本函数的结果会被缓存。请使用 clearstatcache() 来清除缓存。 
$orgFile = 'Fireworks8-chs.exe';//源文件 
$cacheFileName = 'vbcache';//分割成的临时文件块 
function cutFile($fileName,$block) {//分割 
global $cacheFileName; 
if (!file_exists($fileName)) return false; 
$num = 1; 
$file = fopen($fileName, 'rb'); 
while ($content = fread($file,$block)) { 
$cacheFile = $cacheFileName . $num++ . '.dat'; 
$cfile = fopen($cacheFile, 'wb'); 
fwrite($cfile, $content); 
fclose($cfile); 

fclose($file); 

function mergeFile($targetFile) {//合并 
global $cacheFileName; 
$num = 1; 
$file = fopen($targetFile, 'wb'); 
while ($num > 0) { 
$cacheFile = $cacheFileName . $num++ . '.dat'; 
if (file_exists($cacheFile)) { 
$cfile = fopen($cacheFile, 'rb'); 
$content = fread($cfile, filesize($cacheFile)); 
fclose($cfile); 
fwrite($file, $content); 

else { 
$num = -1; 


fclose($file); 

//调用 
cutFile($orgFile, 10 * pow(2,20)); //10 * pow(2,20) 就等于 10M pow() 函数返回 x 的 y 次方 
mergeFile('ok.exe'); 
?> 
 

时间: 2024-09-19 09:47:55

php断点续传之如何分割合并文件的相关文章

php断点续传之如何分割合并文件_php技巧

复制代码 代码如下: <?php ini_set("memory_limit", "50M");//必须的,根据你环境的实际情况尽量大,防止报错 ini_set("max_execution_time", "100"); //file_exists() 函数检查文件或目录是否存在,存在则返回 true,否则返回 false. //fread() 函数读取文件(可安全用于二进制文件).fread() 从文件指针 file

Linux中使用split来分割合并文件

Linux中使用split来分割合并文件 我们使用split命令来完成: 用法:split [选项]... [输入 [前缀]]将输入内容拆分为固定大小的分片并输出到"前缀aa"."前缀ab",...:默认以 1000 行为拆分单位,默认前缀为"x".如果不指定文件,或者文件为"-",则从标准输入读取数据. 长选项必须使用的参数对于短选项时也是必需使用的.&http://www.aliyun.com/zixun/aggr

php断点续传之文件分割合并详解_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; wh

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(

用C#实现文件分割合并器

文件分割器主要是为了解决实际生活中携带大文件的问题,由于存储介质容量的限制,大的文件往往不能够一下子拷贝到存储介质中,这只能通过分割程序把的文件分割多个可携带小文件,分步拷贝这些小文件,从而实现携带大文件的目的.而合并器的作用则能够把这些分割的小文件重新合并,恢复原来的文件..Net FrameWork SDK中提供的许多处理文件的类库,通过这些类能够简捷.灵活的实现对文件的操作.本文的主要内容就是探讨一下Visual C#在对文件编程中的一个比较流行的应用--文件分割器和合并器.下面就首先了解

怎样合并或分割PDF文件

  Adobe acrobat X pro 1Adobe acrobat X pro是官方最新的PDF文件编辑器,肯定是我们处理PDF文件的首选利器.他的功能十分强大,合并或分割PDF文件这类小事情肯定是轻松搞定.运行界面如下:点击左侧的"打开..."打开你要拆分的PDF文件. 2文件打开以后,点击右侧工具栏上的"工具"按键,页面右侧出现收缩的工具菜单. 3点击工具菜单的"页面"前的三角形,点击"拆分文档"按键 4弹出拆分界面

Jexcel实现按一定规则分割excel文件的方法_java

本文实例讲述了Jexcel实现按一定规则分割excel文件的方法.分享给大家供大家参考.具体如下: 现有一个excel文档,需要读取它并按照一定的规则,分割之,分割出来的每一段记录需要单独创建一个excel文档并写入其中,一定要保证单元格格式的一致性. package edu.bjut.zhutong.excelParser; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExcep

.Net实现合并文件的具体方法

这篇文章介绍了.Net实现合并文件的具体方法,有需要的朋友可以参考一下   以上列表中的文件并不是来自于某个文件夹中的所有jpg文件,而是来自于 这个文件. 将多个文件合并为一个文件在许多应用领域都十分有用.亲自实现这样一个程序一定不但过瘾且在许多时候可以帮助我们构建更高效的程序.这里我做了一个方案例分享给大家. 由于合并后的文件就像一个包裹,所以下文中都把这样的文件称为"包文件" 主构思: 要把多个文件合并成一个包文件,还要可以区分其中的某个文件并提取出来.我们需要知道文件的名称和这

php实现读取和写入tab分割的文件

  本文实例讲述了php实现读取和写入tab分割的文件.分享给大家供大家参考.具体分析如下: 这段php代码实现读取和写入tab分割的文件,包含两个独立的函数,一个读,一个写,例如cvs文件等 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 5