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');
?>
Gracias fue de mucha ayuda
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
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.
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
Hola buenas tardes,
No se como tendrás las cabeceras de tu página pero yo intentaría cambiar la codificación:
Saludos,
Jose
cambiar el charset a
iso-8859-1