Home > Php > Script PHP para extraer emails de uno o varios ficheros

Con este sencillo script podemos extraer todos los emails de cualquier fichero (en formato texto plano) cómodamente. En el array $ficheros_emails ponemos los nombres de los ficheros que contienen los emails que queremos extraer y $fichero_destino es el fichero donde los vamos a escribir.

El resultado se muestra en la pantalla (se muestran numerados los emails que se extraen de cada fichero) y se guarda en el fichero.

$ficheros_emails = array('/home/gorka/Escritorio/email1.txt', '/home/gorka/Escritorio/emails2.txt');
$fichero_destino = '/home/gorka/listado_emails.txt';
$fd = fopen($fichero_destino, "w");
$cuenta = 1;
foreach($ficheros_emails as $fichero_emails)
{
	$contenido_fichero = file_get_contents($fichero_emails);
	preg_match_all("([A-Za-z0-9_.-]+@[A-Za-z0-9_.-]+.[A-Za-z0-9_-]+)", $contenido_fichero, $resultado);
	echo "

Emails del fichero: $fichero_emails
";
	foreach ($resultado[0] as $email)
	{
		echo "
$cuenta.- $email";
		fwrite($fd, $email . "\n");
		$cuenta++;
	}
}
fclose($fd);