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";//输出结果

上一篇下一篇

猜你喜欢

热点阅读