Вы находитесь на странице: 1из 5

Manejo de archivos con PHP. Funciones fopen, fgets, fputs y fclose.

-"1(23(1-"14/1-5-1.C45

5-2(64 78S9C4 3( -1C#9:4S C42 "#". $;2C942(S $4"(2, $/(TS, $";TS, $C<4S( = $(4$. (6(5"<4S >C;00?**7@

Seccin: Cursos Categora: Tutorial b sico del programador !eb: "#" desde cero $ec%a &ltima actuali'acin: 2012 Resumen: (ntrega n)** del Tutorial b sico +"#" desde cero,.

aprenderaprogramar.com, 2006-2012

-utor: (nri.ue /on' le' /uti0rre'

Manejo de archivos con PHP. Funciones fopen, fgets, fputs y fclose.

IN R!"#$$I%N &' M&N()! "( &R$HI*!+ $!N PHP. Cuando necesitamos crear, guardar, leer o escribir arc%iAos en la creacin de sitios !eb, el maneBo de 0stos se conAierte en una prioridad. "ara ello, Aamos a Aer una serie de Cunciones D algunos eBemplos para Camiliari'arnos con el maneBo de arc%iAos a niAel b sico en p%p.

F#N$I%N F!P(N <a Cuncin Copen>@ sirAe para abrir Cic%eros >arc%iAos@. Su sintaEis general:

<?php

//Ejemplo aprenderaprogramar.com $fp = fopen(fichero, modoDeApertura);

?>

3onde FCp es el descriptor o identiCicador del Cic%ero abierto .ue necesitaremos m s tarde. Cic%ero puede ser un arc%iAo de teEto, un arc%iAo con eEtensin .p%p, o incluso la ;1< de una p gina !eb >por eBemplo %ttp:GG!!!.pagina!eb.comG@. +-brir, una !eb con Copen>@ puede ser muD &til cuando .ueremos comprobar si la !eb eEiste, o si est actiAa. Si Cic%ero empie'a con H%ttp:GGH, se abre una coneEin %acia la !eb especiCicada. Siempre debe pon0rsele una barra > G @ al Cinal. Si Cic%ero empie'a con +Ctp:GGH, se abre una coneEin al serAidor especiCicado. Si Cic%ero no empie'a con ninguna de las cosas anteriormente dic%as, se abre una coneEin HdirectaH con el arc%iAo especiCicado. Si no eEiste el arc%iAo o direccin especiCicadas, se deAuelAe un error. #aD distintos modos de apertura de arc%iAos, Aamos a Aer los m s %abituales.

aprenderaprogramar.com, 2006-2012

Manejo de archivos con PHP. Funciones fopen, fgets, fputs y fclose.

- la %ora de abrir un arc%iAo, %aD .ue saber de .u0 Corma .ueremos abrirlo. "odemos abrirlo para escritura D lectura, pero de distintas Cormas: Modo r rI !,servaciones &,re el archivo s-lo para lectura. 'a lectura comien.a al inicio del archivo. &,re el archivo para lectura y escritura. 'a lectura o escritura comien.a al inicio del archivo. &,re el archivo s-lo para escritura. 'a escritura comien.a al inicio del archivo, y vac/a el archivo. +i el archivo no e0iste, intenta crearlo. &,re el archivo para escritura y lectura. 'a lectura o escritura comien.a al inicio del archivo, y vac/a el archivo. +i el archivo no e0iste, intenta crearlo. &,re el archivo para s-lo escritura. 'a escritura comen.ar1 al final del archivo. +i el fichero no e0iste se intenta crear. &,re el archivo para lectura y escritura. 'a lectura o escritura comen.ar1 al final del fichero. +i el fichero no e0iste se intenta crear.

!I

aI

(jemplos
<?php //Ejemplo aprenderaprogramar.com $fp = fopen("/apr2/fichero.txt", "r"); $fp = fopen("/apr2/fichero2.txt", "w"); $fp = fopen("http://www.aprenderaprogramar.com/texto.txt", "a+"); $fp = fopen("ftp://ftp.elmundo.es/fichero.txt", "w"); ?>

-%ora bien, con esta simple instruccin slo tendremos el arc%iAo abierto para leer, escribir o leer D escribir. "ero a%ora tendremos .ue %acer uso de las otras instrucciones para escribir o recuperar los datos .ue estimemos oportunos.

F#N$I%N F$'!+( <a Cuncin Cclose>identiCicador3el$ic%ero@ cierra un arc%iAo abierto. (sta Cuncin debe ser utili'ada despu0s de abrir D manipular el arc%iAo como Aeremos en los siguientes eBemplos.

aprenderaprogramar.com, 2006-2012

Manejo de archivos con PHP. Funciones fopen, fgets, fputs y fclose.

F#N$I!N(+ F2( + 3 F(!F <a Cuncin Cgets>@ recupera el contenido de una lnea de un arc%iAo. Su sintaEis general es:
<?php //Ejemplo aprenderaprogramar.com fgets(descriptorDelFichero); ?>

(jemplo
<?php //Ejemplo aprenderaprogramar.com // Leemos la primera lnea de fichero.txt // fichero.txt tienen que estar en la misma carpeta que el fichero php // fichero.txt es un archivo de texto normal creado con notepad, por ejemplo. $fp = fopen("fichero.txt", "r"); $linea = fgets($fp); fclose($fp); ?>

-%ora bien, con esto slo leeremos la primera lnea del Cic%ero de teEto, si .uisi0ramos leer lnea a lnea %asta el Cinal necesitaramos el uso de un bucle !%ile, por eBemplo.
<?php //Ejemplo aprenderaprogramar.com // Iremos leyendo lnea a lnea del fichero.txt hasta llegar al fin (feof($fp)) // fichero.txt tienen que estar en la misma carpeta que el fichero php // fichero.txt es un archivo de texto normal creado con notepad, por ejemplo. $fp = fopen("fichero.txt", "r"); while(!feof($fp)) { $linea = fgets($fp); echo $linea . "<br />"; fclose($fp); ?> }

(sto nos mostrar el contenido del Cic%ero de teEto. Comprobar s .ue %emos incluido una nueAa Cuncin denominada CeoC >.ue Aiene signiCicando algo as como Cile end oC Cile o +marca de Cinal de arc%iAo,@. <a sintaEis general para esta Cuncin es: CeoC >identiCicador3el-rc%iAo@ <a Cuncin CeoC nos deAuelAe true cuando %emos llegado al Cinal de arc%iAo D Calse si no lo %emos alcan'ado todaAa. <a condicin !%ile >JCeoC>FCp@@ podramos %aberla escrito tambi0n de la siguiente manera: !%ile >CeoC>FCp@KKCalse@ . (sta sintaEis es e.uiAalente, puedes utili'ar la .ue preCieras, pero debes acostumbrarte a entender ambas Cormas de escritura. $inalmente, CBate como una Ae' %emos de terminado de operar con el Cic%ero escribimos la instruccin Cclose>identiCicador3el$ic%ero@ para cerrar la coneEin, cosa .ue debemos %acer siempre.
aprenderaprogramar.com, 2006-2012

Manejo de archivos con PHP. Funciones fopen, fgets, fputs y fclose.

F#N$I%N FP# + <a Cuncin Cputs>@ escribe una lnea en un arc%iAo. Su sintaEis general es:

<?php

//Ejemplo aprenderaprogramar.com fputs(descriptorDelFichero, cadena);

?>

(jemplo
<?php //Ejemplo aprenderaprogramar.com // Escribimos una primera lnea en fichero.txt // fichero.txt tienen que estar en la misma carpeta que el fichero php $fp = fopen("fichero.txt", "w"); fputs($fp, "Prueba de escritura aprenderaprogramar.com"); fclose($fp); ?>

$Bate .ue al reali'ar la apertura del Cic%ero en modo !, si el Cic%ero no eEiste, ser creado. $Bate tambi0n como una Ae' %emos de terminado de operar con el Cic%ero escribimos la instruccin Cclose>identiCicador3el$ic%ero@ para cerrar la coneEin, cosa .ue debemos %acer siempre. Si a%ora abrimos el Cic%ero con alg&n editor de teEtos como 2otepad, Aeremos lo siguiente:

- continuacin Aamos a reali'ar eBercicios para practicar el uso de estas Cunciones.

Pr-0ima entrega: C;00?*L7 &cceso al curso completo en aprenderaprogramar.com -- M Cursos, o en la direccin siguiente:
%ttp:GG!!!.aprenderaprogramar.comGindeE.p%pNoptionKcomOcontentPAie!KcategorDPidKQ0P9temidK1R*

aprenderaprogramar.com, 2006-2012

Вам также может понравиться