Posiblemente durante nuestra tarea de programacion 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 leccion solo vamos a las funciones basicas, abrir
(fopen),
cerrar (fclose), leer (fgets) y escribir (fputs). Estas cuatro nos
solventaran la mayoria de problemas que nos surgan con respecto al acceso
a ficheros.
fopen (archivo, modo)
Con esta funcion abrimos un fichero, bien sea local o una
direccion
de internet (http:// o ftp://).
La funcion fopen nos devuelve un valor numerico
(indicador de
archivo) de tipo integer
que nos servirara 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
//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 funcion 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("data.txt" , "r");
if ($archivo) {
while (!feof($archivo)) {
$linea = fgets($archivo, 255);
echo $linea;
}
}
fclose ($archivo);
?>
La funcion feof devuelve TRUE si puntero de lectura/escritura
se encuetra al final del fichero, y FALSE en caso contrario.
fputs (indicador_archivo, cadena)
La funcion fputs escribe una cadena en el fichero indicado.
Para escribir en una archivo este debe haber sido previamente abierto. La
funcion fputs devuelve TRUE si se ha escrito con exito, en caso
contrario devuelve FALSE.
<?PHP
//abre un archivo y escribe en el
$archivo = fopen("data.txt" , "w");
if ($archivo) {
fputs ($archivo, "Hola
Mundo");
}
fclose ($archivo);
?>
fclose (indicador_archivo)
Con esta funcion 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 funcion 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 funcion copy copia un fichero de un lugar (origen) a otro
(destino), devuelve TRUE si la copia a tenido exito y FALSE en caso
contrario.
<?PHP
if (copy("data.txt",
"/tmp/data.txt")) {
echo "El fichero ha sido
copiado con exito";
} else {
echo "El fichero NO se ha
podido copiar";
}
?>
|