使用PHP做文件分割器和合并器.

字体大小: 中小 标准 ->行高大小: 标准
#!/usr/local/php/bin/php -q
<?php

//====================================================
// FileName: split.php
// Summary: 文件分割
// Author: 七夜(李锦星)
// CreateTime: 2006-12-18 
// copyright (c)2010 lijinxing@Gmail.com
// msn: lijinxing20@hotmail.com QQ:531020471
//====================================================

$i = 0; //分割的块编号
$fp = fopen("qqdjz_002.wmv","rb"); //要分割的文件
$file = fopen("split_hash.txt","a"); //记录分割的信息的文本文件
while(!feof($fp))
{
$handle = fopen("qqdjz_002.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";
?>
[/php]



[php]
#!/usr/local/php/bin/php -q
<?php

//====================================================
// FileName: join.php
// Summary: 文件合并
// Author: 七夜(李锦星)
// CreateTime: 2006-12-18 
// copyright (c)2010 lijinxing@Gmail.com
// msn: lijinxing20@hotmail.com QQ:531020471
//====================================================

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

今天在研究多点下载的时候,用PHP做了实验品.经过测试可以切割上百M\上G的文件.
本文件最好是win(cli)或*nix(shell)模式下执行.能保证效率和稳定形.

此文章由 http://www.ositren.com 收集整理 ,地址为: http://www.ositren.com/htmls/29981.html