PHP 分割文件
功能:将10000条数据的txt文件分割成10个txt文件,每个文件1000条数据,将文件中的‘,’替换成‘;’
<?php
//想分割的文件
$file_name = '/var/data10000.txt';
//如果文件存在
if (file_exists($file_name)) {
//读取文件
$fp = fopen($file_name, 'r');
//文件名字(data1.txt,data2.txt...data10.txt)
$num_file = 1;
//文件行号
$num_row = 1;
//打开第一个写入的文件
$fp_write = fopen('data' . $num_file . '.txt', 'w');
if ($fp_write == false) {
echo 'file open failed';
}
//判断是否文件的最后一行
while (!feof($fp)) {
$row_data = fgets($fp);
//把此行的‘,’替换成‘;’
$row_data1 = str_replace(",", ";", $row_data);
$booflag = fwrite($fp_write, $row_data1);
if ($booflag == false) {
echo "error";
}
//每1000行写入一个文件
if ($num_row % 1000 == 0) {
//关闭文件
fclose($fp_write);
//第几个文件
$num_file++;
//如果读取的不是最后一行
if ($num_row != 10000) {
//打开下一个文件写入
$fp_write = fopen('data' . $num_file . '.txt', 'w');
if ($fp_write == false) {
echo 'file open failed';
}
}
}
//文件行号
$num_row++;
}
echo "OK";
}