求PHP大佬指点一下代码

搬瓦工机场JMS

目录 txt

里面有文件 : 1.txt 2.txt 3.txt  ……. 100.txt

现在想将txt目录里 1- 100 这100个文件按照顺序合并成1个101.txt,请问要怎么实现?

是要按编号顺序.

仅仅百度到了一段有用的代码,其他都是遍历目录合并,而且全部是抄来抄去的文章:

  1. <?
  2. $data="";
  3. for ($i=1;$i<=100;$i++) {
  4. $dir=$i.".txt";
  5. $data = $data.file_get_contents($dir)."\r";
  6. }
  7. $fo = fopen("101.txt","a+");
  8. fwrite($fo,$data);
  9. fclose($fo);
  10. ?>

复制代码

但是这个代码实现起来有问题,第一次是能生成一个完整的101.txt, 但是我如果删除这个101.txt ,接下去每次生成的101.txt都是不完整的(不知道啥原因)

也就是想请论坛上的大佬,完善一下这段代码?或者即兴写一段让我学习下.
海南网友:
路过帮顶一下。。。
广西网友:已经搞定,感谢大佬回复.
云南网友:
文件读写是最基本的编程练习吧?与使用任何语言无关,基本上都是封装的系统提供的C语言API,所以使用啥语言都差不多。
即使我不懂php,也能简单的看出问题:
`$data = $data.file_get_contents($dir)."\r";`是字符串连接吗,是类似Java中`StringBuilder.append`之类的操作?
`$fo = fopen("101.txt","a+");`,这里的`a+`是否使用正确了,有认真的考虑过吗?
西藏网友:没发现什么毛病,稍微改下
<?
for ($i=1;$i<=100;$i++) {
$dir=$i.".txt";
$data .= file_get_contents($dir)."\r";
}
file_put_contents(‘101.txt’, $data, FILE_APPEND | LOCK_EX);
?>
湖北网友:

  1. <?php
  2. $data = "";
  3. for ($i = 1; $i <= 100; $i++) {
  4.   $data .= file_get_contents("$i.txt");
  5. }
  6. file_put_contents("101.txt", $data);

复制代码
https://repl.it/repls/LightyellowAwfulPoints
广东网友: 优秀
浙江网友:$file = fopen(‘101.txt’, ‘a+’);
for ($i = 1; $i <= 100; $i++) {
        fwrite($file, file_get_contents($i.’.txt’)
}

fclose($file);
内蒙古网友:已经搞定了,谢谢.

未经允许不得转载:美国VPS_搬瓦工CN2 GIA VPS » 求PHP大佬指点一下代码

赞 (0) 打赏

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏