Se me ocurre el siguiente codigo, tal vez sea un poco mas largo, pero creo q es mas sencillo
Si tenes una lista de emails, por lo menos tenes un espacio entre direccion y direccion, o un guion o ALGO que los separe o delimite. Fijate lo que hago:
Código PHP:
<?php
# Todos los nombres de archivo que vas a revisar
$files = array('archivo1.txt', 'archivo2.txt');
$newFile = 'sinRepetir.txt';
# Supongo que el delimitador es un guion medio (cambialo sino)
$delim = '-';
$f1 = file($files[0]);
$f2 = file($files[1]);
$f1 = explode($delim,$f1);
$f2 = explode($delim,$f2);
# Cantidad de mails en el array $f2
$cant = count($f2);
foreach($f1 as $c1){
$cont = 0;
foreach($f2 as $c2){
if(strtolower($c1) != strtolower($c2)){
$cont++;
}
}
if($cont == $cant){
# Si no es igual a ninguno, lo guardo.
$ok[] = $c1;
}
}
# Por ultimo, guardamos todos los datos del array en una nueva lista sin repetir
foreach($ok as $save){
# Salto de linea entre mail y mail
$str .= $save."\r\n";
}
$fp = fopen($newFile, 'w+');
fwrite($fp,$str);
fclose($fp);
?>