|
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 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
//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("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 ha
podido copiar";
}
?>
|