php分割txt文件
2018-12-05 本文已影响0人
Tianbu
<?php
/**
* 104857600=100mb
* 10485760=10mb
* 10485760/5=2mb
* 读取的定义为源文件
* 写入的定义为目标文件
*/
$size=filesize('201808.txt');
$i=0;
$block_info = [];
while($size>0){
//组建规格数组
$block_info[]=[
'size' => $size>=104857600?104857600:$size,//目标文件大小
'file' => str_replace('.txt', '','201808.txt').'.'.($i++).'.txt'//目标文件名
];
$size-=104857600;//源文件大小递减
}
$fp = fopen('201808.txt',"rb");//打开源文件
foreach($block_info as $k => $v){
$handle = fopen($v['file'],'wb');//创建并打开目标文件
fwrite($handle,fread($fp,$v['size']));//fwrite函数写入目标文件,fread函数读取源文件并读取设定字节数
fclose($handle);//关闭目标文件
unset($handle);//销毁变量
}
fclose ($fp);//结束关闭源文件
unset($fp);//销毁变量
echo "ok";//输出结果