¡Hola a todos los lectores del Taller de PHP! ¿Estuvieron practicando bastante? Recuerden que la clase pasada comenzamos a ver cómo crear y manejar archivos (aprendimos a crear un txt, a abrirlo con la función fopen, a cerrarlo con fclose y a leerlo con fread).
Hoy vamos a ver la segunda parte de manejo de archivos. En esta clase veremos como escribir y borrar archivos. Estonos permitirá, por ejemplo, crear un archivo HTML que adentro contenga lo que sea que queramos. ¡Comencemos!
fwrite
Para comenzar a escribir archivos, usaremos la función fwrite:
fwrite( $puntero, "Texto que queremos guardar" );
Un ejemplo de su uso serÃa algo asÃ:
$fp = fopen("archivo.txt", "a");
fwrite($fp, “Escribimos un texto con lo que queremos guardar \r\n”);
fclose($fp);
¿Qué fue lo que hicimos?
Primero abrimos el archivo archivo.txt con el modo a, es decir que, si el archivo no existÃa lo creamos, y si existÃa y tenÃa contenido, el nuevo contenido que escribimos va a ser al final de todo, ya que el modo “a” posiciona el puntero al final.
Luego de eso, usamos fwrite, pasándole el puntero que acabamos de abrir y luego el texto, fÃjense que en el string que le pasamos, agregue al final \n\r, esto es para que haga un salto de linea en el archivo.txt que estamos creando, para que, si escribimos más texto, el mismo se ubique en un reglón por debajo y no todo de corrido.
Luego de esto, cerramos el puntero.
Casos de Uso
Recuerdan la clase pasada que yo les dije que podÃan crear html o xml con este método, pues es muy sencillo, por ejemplo si queremos crear un html podemos hacer simplemente:
$fp = fopen("holamundo.html", "a");
fwrite($fp, “<html><head><title>Hola Mundo</title></head><body><h1>Hola Mundo</h1></body></html>”);
fclose($fp);
Sencillo ¿no? incluso si quieren pueden ponerle saltos de lÃnea al html para que cuando lo abran con algún editor, no este todo el texto de corrido.
Eliminar un archivo
Para borrar directamente un archivo del servidor usamos la función unlink.
unlink("url absoluta al archivo");
Por ejemplo si queremos borrar el archivo.txt lo hacemos de la siguiente manera:
$url = "c:/documentos/archivo.txt";
if ( file_exists( $url ) )
unlink( $url );
FÃjense que primero nos fijamos que exista el archivo ya que, si no existe, unlink nos va a tirar un error.
| << CLASE ANTERIOR |








Domingo, 16 de Enero de 2011 a las 12.04
Esperaba el mismo tipo de error que el ejercicio pasado y, efectivamente, esta es la respuesta:
Warning: fopen(./archivo_nuevo.txt) [function.fopen]: failed to open stream: Resource temporarily unavailable in /var/www/test-PHP-ESCRITURA_ARCHIVO.php on line 10
Domingo, 16 de Enero de 2011 a las 12.28
Pienso que estarÃa bien crear una base de datos de recetas.
Cuando acabe el tutorial este sin problemas a ver si puedo.Lo veo muy muy difÃcil. Creo que apareceran un montón de problemas y errores porque aquà vemos la superficie de las cosas.
Viernes, 19 de Agosto de 2011 a las 15.53
hola, vi un post parecido a este, y me intrigo una duda, el tutorial esta excelente, solo que no se si con el fclose($fp); se esta aguardando automaticamente el documento, o tenermos que agregar una linea como esta: $file = “prueba.htm”;
Viernes, 19 de Agosto de 2011 a las 15.58
y en dado caso que lo que quisiera guardar en el documento de texto fuera la IP, con esto. $ip = $_SERVER['REMOTE_ADDR']; como me kedaria la linea de codigo ??. gracias y saludo (pd: soy novato en esto es x eso q tengo muchas dudas aun)
Viernes, 2 de Septiembre de 2011 a las 14.55
Bien explicado el tutorial, ahora si alguien quiere guardar la ip del visitante en un block de notas seria de esta forma:
Viernes, 2 de Septiembre de 2011 a las 14.56
$nombreArchivo = “mundo.txt”;//Nombre del Archivo txt
$archivo = fopen($nombreArchivo,”a”);//Abrimos el Archivo txt con la opcion de “Escritura”
$cadena = “Ip del Visitante: {$_SERVER['REMOTE_ADDR']}\r\n”;
fwrite($archivo,$cadena);
fclose($archivo);