目录 txt
里面有文件 : 1.txt 2.txt 3.txt ……. 100.txt
现在想将txt目录里 1- 100 这100个文件按照顺序合并成1个101.txt,请问要怎么实现?
是要按编号顺序.
仅仅百度到了一段有用的代码,其他都是遍历目录合并,而且全部是抄来抄去的文章:
- <?
- $data="";
- for ($i=1;$i<=100;$i++) {
- $dir=$i.".txt";
- $data = $data.file_get_contents($dir)."\r";
- }
- $fo = fopen("101.txt","a+");
- fwrite($fo,$data);
- fclose($fo);
- ?>
复制代码
但是这个代码实现起来有问题,第一次是能生成一个完整的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);
?>
湖北网友:
- <?php
- $data = "";
- for ($i = 1; $i <= 100; $i++) {
- $data .= file_get_contents("$i.txt");
- }
- 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大佬指点一下代码