Funciones de acceso a ficheros


Posiblente durante nuestra tarea de programación nos surga la necesidad de obtener datos de un fichero, o bien, de crear uno. PHP nos provee de una extensa gama de funciones de acceso a ficheros.

En esta lección sólo vamos a las funciones básicas, abrir (fopen), cerrar (fclose), leer (fgets) y escribir (fputs). Estas cuatro nos solventaran la mayoria de problemas queibir (fputs). Estas cuatro nos solventaran la mayoria de problemas que nos surgan con respecto al acceso a ficheros.

fopen (archivo, modo)

Con esta función abrimos un fichero, bien sea local o una dirección de internet (http:// o ftp://).

La función fopen nos devuelve un valor numérico (indicador de archivo) de tipo integer que nos servirará para hacer referencia al archivo abierto.

Con fopen podemos abrir un archivo de los siguientes modos:

r    solo lectura

r+  lectura y escritura

w    solo escritura. Sino existe el archivo lo crea, si ya existe lo machaca.

w+  lectura y escritura. Sino existe el archivo lo crea, si ya existe lo machaca.

a    solo lectura. Sino existe el archivo lo crea, si ya existe empieza a escribir al final del archivo.

a+  lectura y escritura. Sino existe el archivo lo crea, si ya existe empieza a escribir al final del archivo.

<?PHP

//abreo"><?PHP

//abre un archivo utilizando el protocolo HTTP

if ( ! fopen("http://www.ciberaula.com/", "r")) {

echo "El archivo no se puede abrir\n";

exit;

}

?>

Los modos r, r+ , w , w+  colocan el puntero de lectura/escritura a principio del fichero, los modos a , a+  lo colocan al final.

 

fgets (indicador_archivo, longitud)

La función fgets nos devuelve una cadena con la longitud especifica del fichero al que apunta el indicador de archivo.

<?PHP

//abre un archivo e imprime cada linea

$archivo = fopen("dlass="codigo">$archivo = fopen("data.txt" , "r");

if ($archivo) {

while (!feof($archivo)) {

$linea = fgets($archivo, 255);

echo $linea;

}

}

fclose ($archivo);

?>

La función feof devuelve TRUE si puntero de lectura/escritura se encuetra al final del fichero, y FALSE en caso contrario.

 

fputs (indicador_archivo, cadena)

La función fputs escribe una cadena en el fichero indicado. Para escribir en una archivo este debe haber sido previamente abierto. La función fputs devuelve TRUE si se ha escrito con éxito, en caso contrario devuelve FALSE.

<?PHP

//abre un archivo y escribe en él

$archivo = fopen("data.txt" , "w");

if ($archivo) {

fputs ($archivo, "Hola Mundo");

}

fclose ($archivo);

?>

<);

?>

 

fclose (indicador_archivo)

Con esta función cerramos el fichero que nos marca el indicador de archivo, devuelve TRUE si el fichero se cierra correctamente y FALSE sino se ha podido cerrar.

 

file_exists (fichero)

Esta función devuelve TRUE si el archivo especificado existe, y FALSE en caso contrario.

<?PHP

if (file_exists("data.txt")) {

echo "El fichero existe";

} else {

echo "El fichero NO existe";

}

?>

 

copy (origen, destino)

La función copy copia un fichero de un lugar (origen) a otro (destino), devuelve TRUE si la copia a tenido éxito y FALSE en caso contrario.

<?PHP

if (copy("data.txt", "/tmp/data.txt")) {

echo "El fichero ha sido copiado con éxito";

} else {

echo "El fichero NO se higo" style="margin-left: 50">echo "El fichero NO se ha podido copiar";

}

?>

 

©José Antonio Rodríguez 2000.