日期:2014-05-17  浏览次数:20546 次

PHP大文件存储示例,各种文件分割和合并(二进制分割与合并)

简单示例:

?

split.php

?

<?php
$i    = 0;                               //分割的块编号
$fp   = fopen("abc.wmv","rb");     //要分割的文件
$file = fopen("split_hash.txt","a");     //记录分割的信息的文本文件
while(!feof($fp))
{
        $handle = fopen("abc.wmv.{$i}","wb");
        fwrite($handle,fread($fp,5000000));            //5000000 可以自定义.就是每个所分割的文件大小
        fwrite($file,"qqdjz_002.wmv.{$i}\r\n");
        fclose($handle);
        unset($handle);
        $i++;
}
fclose ($fp);
fclose ($file);
echo "ok";
?>

?



join.php

?

<?php
$mov  = file_get_contents("abc.txt");           //读取分割文件的信息
$list = explode("\r\n",$mov);
$fp   = fopen("split.wmv","ab");                  //合并后的文件名
foreach($list as $value)
{
	if(!empty($value)) {  
      		$handle = fopen($value,"rb");
        	fwrite($fp,fread($handle,filesize($value)));
        	fclose($handle);
        	unset($handle);
	}
}
fclose($fp);
?>
?