首页 >后端开发 >php教程 >php把每行复制到其他文本文件里

php把每行复制到其他文本文件里

WBOY
WBOY原创
2016-06-23 14:17:561154浏览

PHP 文本 行

好吧,说实话这个实在是麻烦

是这样,我要把q.txt里的文本每行按照字数复制到1.txt/2.txt/3.txt

q.txt文本格式如下:
ajsg 蓝本 草本ajsv 莫要ajsm 苹果机ajsu ?ajsc 黄果树ajsj 七星瓢虫ajsu ?ajt 蓝ajtl 蓝ajth 蔓延 惹是生非aagw 恭敬不如从命

要求像第一个,要把他分成两个写到2.txt里,所有汉字后面不能有空格。
如:
ajsg 蓝本ajsg 草本

三个字的存到3.txt里。像一下这种
ajth 蔓延 惹是生非

需要存到2.txt一个,4.txt一个
四字以上存到5.txt里。
1.txt,2.txt等存出来的格式要和q.txt的一样,汉字后面不能有空格
如1.txt的
a 工a 戈aa 式aaa 工aaaa 工aaar ?aad 式aad ?aadk 匿aadn 慝aadw 萁aadn 葚


有没有大神帮忙啊,求PHP解决方法,先谢过!

回复讨论(解决方案)

<?php$handle = @fopen("q.txt", "r");if ($handle) {    while (!feof($handle)) {        $buffer = fgets($handle, 4096);        $data=explode(' ',trim($buffer));        $tap=trim(array_shift($data));		foreach($data as $v){			$encode = 'UTF-8';			$str_num = mb_strlen(trim($v),$encode);			$fname=$str_num>4?5:$str_num;			@file_put_contents($fname.".txt",$tap." ".trim($v)."\r\n",FILE_APPEND);		}    }    fclose($handle);}?> 

不过这有一个前提;需要看你的q.txt的文档的编码是什么格式! 我这里使用UTF-8,也就是默认你的q.txt文档是UTF-8编码的;来到这里;你应该懂的了;

<?php$handle = @fopen("q.txt", "r");if ($handle) {    while (!feof($handle)) {        $buffer = fgets($handle, 4096);        $data=explode(' ',trim($buffer));        $tap=trim(array_shift($data));		foreach($data as $v){			$encode = 'UTF-8';			$str_num = mb_strlen(trim($v),$encode);			$fname=$str_num>4?5:$str_num;			@file_put_contents($fname.".txt",$tap." ".trim($v)."\r\n",FILE_APPEND);		}    }    fclose($handle);}?> 

不过这有一个前提;需要看你的q.txt的文档的编码是什么格式! 我这里使用UTF-8,也就是默认你的q.txt文档是UTF-8编码的;来到这里;你应该懂的了;
非常感谢,问题解决!我的文本就是UTF-8的。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn