/**
* 文件的分割
* @param string $filename 文件名
* @param int $block 每块的大小
*/
function cut_file($filename,$block){
//判断是不是一个文件
if(!file_exists($filename)){
return false;
}
$file=fopen($filename, 'rb');
$num=1;
while ($content=fread($file, $block)){
$cachefilename="cache/".$num++."dat";
$cachefile=fopen($cachefilename, 'wb');
fwrite($cachefile, $content);
fclose($cachefile);
}
fclose($file);
}
//cut_file("1.mp3",1*pow(2, 20)); //1*pow(2, 20) = 1M
/**
* 合并文件
* @param string $targetfile 合并后的文件名
*/
function merger_file($targetfile){
$file=fopen($targetfile, 'wb');
$num=1;
while ($num>0){
$cachefilename="cache/".$num++."dat";
$cachefile=fopen($cachefilename, 'rb');
if($content=fread($cachefile, filesize($cachefilename))){
fwrite($file, $content);
}else{
$num=-1;
}
fclose($cachefile);
}
fclose($file);
}
merger_file("a.mp3");