全球主机交流论坛
标题:
求PHP大佬指点一下代码
[打印本页]
作者:
乌鸦
时间:
2019-9-4 17:02
标题:
求PHP大佬指点一下代码
目录 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都是不完整的(不知道啥原因)
也就是想请论坛上的大佬,完善一下这段代码?或者即兴写一段让我学习下.
作者:
忘江湖
时间:
2019-9-4 17:05
本帖最后由 忘江湖 于 2019-9-4 17:07 编辑
路过帮顶一下。。。
作者:
乌鸦
时间:
2019-9-4 17:08
忘江湖 发表于 2019-9-4 17:05
路过帮顶一下。。。
已经搞定,感谢大佬回复.
作者:
我是一个大水怪
时间:
2019-9-4 17:12
本帖最后由 我是一个大水怪 于 2019-9-4 17:13 编辑
文件读写是最基本的编程练习吧?与使用任何语言无关,基本上都是封装的系统提供的C语言API,所以使用啥语言都差不多。
即使我不懂php,也能简单的看出问题:
`$data = $data.file_get_contents($dir)."\r";`是字符串连接吗,是类似Java中`StringBuilder.append`之类的操作?
`$fo = fopen("101.txt","a+");`,这里的`a+`是否使用正确了,有认真的考虑过吗?
作者:
yangen
时间:
2019-9-4 17:13
没发现什么毛病,稍微改下
<?
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);
?>
作者:
dvbhack
时间:
2019-9-4 17:14
本帖最后由 dvbhack 于 2019-9-4 17:16 编辑
<?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
作者:
liuliuliu
时间:
2019-9-4 17:17
yangen 发表于 2019-9-4 17:13
没发现什么毛病,稍微改下
优秀
作者:
雨灵
时间:
2019-9-4 17:18
$file = fopen('101.txt', 'a+');
for ($i = 1; $i <= 100; $i++) {
fwrite($file, file_get_contents($i.'.txt')
}
fclose($file);
作者:
乌鸦
时间:
2019-9-4 17:18
yangen 发表于 2019-9-4 17:13
没发现什么毛病,稍微改下
已经搞定了,谢谢.
欢迎光临 全球主机交流论坛 (https://loc.888543.xyz/)
Powered by Discuz! X3.4