gpt4 book ai didi

PHP - 如何打开文件并读取它们,然后写入每个文件 "x"行的新文件?

转载 作者:行者123 更新时间:2023-12-03 23:43:06 25 4
gpt4 key购买 nike

我之前在这里发布过这个问题,但没有得到回复。我可能做错了什么,所以,这里再次提供一些更多细节。

该目录中的文件名为 1.txt、2.txt、3.txt 等......下面的代码片段进入该目录,打开所有读取它们的 *,txt 文件,删除重复项并创建一个文件以及所有独特的内容。 (本例中的名称)。

$files = glob($dirname."/*.txt"); //matches all text files
$lines = array();
foreach($files as $file)
{
$lines = array_merge($lines, file($file, FILE_SKIP_EMPTY_LINES | FILE_IGNORE_NEW_LINES));
}
$lines = array_unique($lines);
file_put_contents($dirname."/allofthem.txt", implode("\n", $lines));
}

以上内容对我来说非常有用!感谢 stackoverflow 的大力帮助。

但是,我希望更进一步。

如何修改上述代码以根据新数据创建每个文件最多 5oo 行的文件,而不是一个大的重复的免费“allofthem.txt”文件?

他们需要进入一个新目录,例如 $dirname."/done/".$i.".txt"我尝试过在循环中计数,但我的努力不起作用,最终变成了一英里长。

我还尝试将 500 插入一个数组,递增到另一个数组并以这种方式保存。没有运气。我只是没有“明白”它。

同样,这位初学者需要一些专家的帮助。提前致谢。

最佳答案

根据代码获得行数组后,您可以使用 array_chunk 将其分成 500 行的 block 。 ,然后将每个 block 写入自己的文件:

// ... from your code
$lines = array_unique($lines);

$counter = 1;
foreach (array_chunk($lines, 500) as $chunk)
{
file_put_contents($dirname . "/done/" . $counter . ".txt", implode("\n", $chunk));
$counter++;
}

关于PHP - 如何打开文件并读取它们,然后写入每个文件 "x"行的新文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3691339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com