分享

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

 共同成长888 2015-04-19

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

这是篇求助帖,因为我做五笔系统遇到词库问题,太大了,所以用php解决的

本人技术有限,只能CSDN求助了,这里感谢xiaoxiaoliangloveyou,因为他帮我解决了问题。再次感谢!

下面是问题描述:(原帖点击这个

要把q.txt里的文本每行按照字数复制到1.txt/2.txt/3.txt/4.txt/5.txt

q.txt文本格式如下:

  1. ajsg 蓝本 草本
  2. ajsv 莫要
  3. ajsm 苹果机
  4. ajsu
  5. ajsc 黄果树
  6. ajsj 七星瓢虫
  7. ajsu
  8. ajt
  9. ajtl
  10. ajth 蔓延 惹是生非
  11. aagw 恭敬不如从命

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

  1. ajsg 蓝本
  2. ajsg 草本

三个字的存到3.txt里。像一下这种

  1. ajth 蔓延 惹是生非

需要存到2.txt一个,4.txt一个
四字以上存到5.txt里。
1.txt,2.txt等存出来的格式要和q.txt的一样,汉字后面不能有空格
如1.txt的

  1. a
  2. a
  3. aa
  4. aaa
  5. aaaa
  6. aaar
  7. aad
  8. aad
  9. aadk
  10. aadn
  11. aadw
  12. aadn

下面是xiaoxiaoliangloveyou给出的解决方法(php)

  1. <?php
  2. $handle = @fopen("q.txt", "r");
  3. if ($handle) {
  4. while (!feof($handle)) {
  5. $buffer = fgets($handle, 4096);
  6. $data=explode(' ',trim($buffer));
  7. $tap=trim(array_shift($data));
  8. foreach($data as $v){
  9. $encode = 'UTF-8';
  10. $str_num = mb_strlen(trim($v),$encode);
  11. $fname=$str_num>45:$str_num;
  12. @file_put_contents($fname.".txt",$tap." ".trim($v)."\r\n",FILE_APPEND);
  13. }
  14. }
  15. fclose($handle);
  16. }
  17. ?>

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多