我之前在这里发过这个问题,但没有回复.我可能做错了所以,这里再说一些细节.
目录中的文件名为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));
}
Run Code Online (Sandbox Code Playgroud)
以上作品对我很有用!感谢stackoverflow的大力帮助.
但是,我希望更进一步.
而不是一个大的重复免费"allofthem.txt"文件,我如何修改上面的代码来创建新数据最多为5oo行的文件?
他们需要进入一个新目录,例如$ dirname."/ done /".$ i.".txt"我已经尝试过计算循环,但我的努力没有奏效,最终只有一英里长.
我还尝试将500推入一个数组,增加到另一个数组并保存.没运气.我只是没有"得到"它.
同样,这位初学者需要一些专家帮助.提前致谢.
根据代码获得行数组后,可以使用它将其分成500行的块array_chunk,然后将每个块写入自己的文件:
// ... 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++;
}
Run Code Online (Sandbox Code Playgroud)