Tratamiento de archivos txt con PHP

Con el siguiente script podemos generar o escribir en un archivo txt datos de una base de datos, mostrar este txt y eliminar el archivo.

Podemos escribir los registros de una tabla de nuestra base de datos en una archivo recorriendo los registros y utilizando la función fwrite de php para escribir en un archivo de la siguiente forma:

<?php
$consulta = "SELECT titulo, imagen, lecturas, destacado FROM table ORDER BY lecturas DESC LIMIT 0,10";
$rs = mysql_query($consulta, $con);
if (mysql_num_rows($rs) != 0) {
    $jump = "\r\n";
    $separator = "\t";
    $fp = fopen($file, 'a');
    $registro = 'titulo' . $separator . 'imagen' . $separator . 'lecturas' . $separator .  $jump;
    fwrite($fp, $registro);
    while($row = mysql_fetch_array($rs)) {
        $registro = $row['titulo'] . $separator . $row['imagen'] . $separator . $row['lecturas'] . $separator  . $jump;
        fwrite($fp, $registro);
    }
    fclose($fp);
    chmod($file, 0777);
    echo 'Se han guardado '.mysql_num_rows($rs).' registros en el txt!';
}
?>

En este caso, simplemente estamos cogiendo los 10 artículos más leidos de mi página Web. Abrimos el fichero si existe o lo creamos si no y empezamos a escribir en el con la función write dentro del bucle.

Para leer este archivo generado mediante php podemos utilizar la función file_get_contents() que nos facilita php de la siguiente forma:

<?php
$archivo = file_get_contents("datos.txt");
$archivo = ucfirst($archivo); //Le damos un poco de formato
$archivo = nl2br($archivo); //Transforma todos los saltos de linea en tag
echo $archivo;
?>

Y para borrar el archivo simplemente podemos utilizar la función unlink() de la siguiente forma:

<?php
unlink('datos.txt');
?>

Ver el ejemplo en funcionamiento

Autor
Escrito por Jose Aguilar - Director ejecutivo y tecnológico en JA Modules. Experto programador PrestaShop y Experto programador WordPress.
Te ha servido? Valora esta entrada!
(2 votos, promedio: 5 de 5)
Comparte en las redes sociales
¿Buscas trabajo de programador?

6 respuestas a “Tratamiento de archivos txt con PHP”

  1. Kreisler dice:

    Gracias fue de mucha ayuda

  2. Marcos dice:

    hola quiero hacer algo similar con una consulta que genero de 2 textbox con rango de fechas con php+jquery+json pero no se como tu codigo es justo lo que necesito pero no se como implementarlo

  3. Ardelle Hulsman dice:

    Hello There. I discovered your weblog using msn. That is a very neatly written article. I’ll be sure to bookmark it and return to learn extra of your useful information. Thank you for the post. I will certainly comeback.

  4. guillermo dice:

    Hola, Muchas gracias por tu aporte. He probado la segunda opción,

    Y los acentos del txt me sale sin codificar en utf-8. He visto que en tu ejemplo aparecen correctamente.

    Podrías indicarme como puedo solucionar el problema?

    Gracias

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Ver más sobre