编程语言
首页 > 编程语言> > 在PHP中拆分文本文件

在PHP中拆分文本文件

作者:互联网

如何使用PHP通过字符计数将大文本文件拆分为单独的文件?因此,每1000个字符拆分10,000个字符的文件将被拆分为10个文件.此外,我是否可以在找到完整停止后拆分?

谢谢.

更新1:我喜欢zombats代码,我删除了一些错误,并提出了以下内容,但有没有人知道如何只在完全停止后拆分?

$i = 1;
    $fp = fopen("test.txt", "r");
    while(! feof($fp)) {
        $contents = fread($fp,1000);
        file_put_contents('new_file_'.$i.'.txt', $contents);
        $i++;
    }

更新2:
我拿了zombats建议并修改了下面的代码,它似乎工作 –

$i = 1;
    $fp = fopen("test.txt", "r");
    while(! feof($fp)) {
        $contents = fread($fp,20000);
        $contents .= stream_get_line($fp,1000,".");
        $contents .=".";

        file_put_contents("Split/".$tname."/"."new_file_".$i.".txt", $contents);
        $i++;
    }

解决方法:

您应该能够使用基本的fread()轻松完成此操作.您可以指定要读取的字节数,因此以精确的数量读取并将其输出到新文件是微不足道的.

尝试这样的事情:

$i = 1;
$fp = fopen("test.txt",'r');
while(! feof($fp)) {
    $contents = fread($fp,1000);
    file_put_contents('new_file_'.$i.'.txt',$contents);
    $i++;
}

编辑

如果你希望在一定长度后停止OR或某个角色,那么你可以使用stream_get_line()而不是fread().它几乎完全相同,只是它允许您指定任何结束分隔符.请注意,它不会将分隔符作为读取的一部分返回.

$contents = stream_get_line($fp,1000,".");

标签:php,string,text-processing
来源: https://codeday.me/bug/20191008/1874455.html