日期:2014-05-17  浏览次数:20471 次

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 文本

------解决方案--------------------

<?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编码的;来到这里;你应该懂的了;