Что-то вроде:
$lines = array()
foreach ($files as $file) {
$lines = array_merge($lines, file($file));
}
$lines = array_unique($lines);
$fp = fopen('dest.txt', 'w');
foreach ($lines as $line) {
fwrite($fp, $line);
}
fclose($fp);
В качестве альтернативы вы можете сделать это по-другому, когда вы проверяете уникальные записи при каждой загрузке нового файла.Это сэкономило бы ОЗУ, но потенциально использовало бы больше ЦП.
На основе вашего комментария о opendir вы можете сделать что-то вроде следующего:
$files = glob('/home/mycal25/public_html/processed/*');
или придерживаться opendir()
$topdir = '/home/mycal25/public_html/processed';
$dh = opendir($topdir);
while (($file = readdir($dh)) !== false) {
$lines = array_merge($lines, file($topdir . '/' . $file));
}
Я пропустил некоторые проверки жизненно важных ошибок, просто чтобы сделать код короче и проще для чтения.Но если вы хотите быть уверены, всегда проверяйте возвращаемые значения из opendir / glob / fopen и т. Д.