Vous êtes sur la page 1sur 9

Creacin de paginas web con PHP y MySql Tema 10.

Manejo de ficheros y directorios

Tema 10
Manejo de ficheros y directorios

Autor
Ismael Chakroun Muoz (ismael@um.es)

pgina 1

Creacin de paginas web con PHP y MySql Tema 10. Manejo de ficheros y directorios

Contenido
1

Manejo de ficheros ................................................................................................. 3

Comprobar la existencia de un fichero................................................................. 3

Abrir Ficheros......................................................................................................... 4

Cerrar ficheros........................................................................................................ 5

Leer de ficheros....................................................................................................... 5
5.1

fread .................................................................................................................. 5

5.2

fgetc .................................................................................................................. 6

5.3

fgets .................................................................................................................. 6

Escribir en ficheros................................................................................................. 7

Comprobar si el fichero existe............................................................................... 8

Copiar fichero de un directorio a otro.................................................................. 8

pgina 2

Creacin de paginas web con PHP y MySql Tema 10. Manejo de ficheros y directorios

1 Manejo de ficheros
Funciones PHP que nos permiten el almacenamiento y recuperacin de informacin
desde el sistema de ficheros del servidor.
-

Lectura de ficheros.

Creacin de ficheros.

Copiar / Mover / Eliminar ficheros.

Funciones semejantes a C (fopen, fclose, ).

Capacidad de abrir y manipular ficheros remotos mediante protocolos HTTP o


FTP.

Ejemplos de uso:
-

Almacenar datos simples como ficheros de configuracin.

Persistencia de datos en general.


o Alternativa a las bases de datos

Ficheros de log personalizados

Pasos de uso
-

Apertura del archivo.

Manejo del archivo.

Cierre del archivo.

2 Comprobar la existencia de un fichero


Podemos comprobar si un fichero existe o no.
Sintaxis: bool file_exists ( string filename)
-

Este funcin devuelve true si el fichero existe o false en el caso de que no exista.

Ejemplo:
<?php
if (file_exists("data.dat") {
echo "El fichero existe"
else

pgina 3

Creacin de paginas web con PHP y MySql Tema 10. Manejo de ficheros y directorios
echo "El fichero no existe".
?>

3 Abrir Ficheros
Cuando abrimos ficheros podemos estar haciendo dos operaciones:
-

Creacin el fichero de un fichero nuevo.

Modificacin de un fichero que ya existe.

Sintaxis: int fopen ( string filename, string mode)


Devuelve una variable que hace referencia al fichero o false si no se puede abrir el
fichero.
Filename es el nombre del archivo
Mode es el modo de apertura (lectura, escritura, ampliacin)
Ejemplo: $fp = fopen("file.txt", "r");

- Filename puede ser:


a) un nombre de fichero
$fp = fopen("file.txt", "r");

b) una ruta absoluta


$fp = fopen("/home/solweb/file.txt", "r");

c) una URL de HTTP.


Slo se puede abrir en lectura
$fp = fopen("http://www.php.net/", "r");

d) una URL de FTP.


$fp = fopen("ftp://user:password@example.com/", "w");

- El parmetro mode indica cmo queremos abrir el fichero


-

r: Abre el fichero para lectura.

pgina 4

Creacin de paginas web con PHP y MySql Tema 10. Manejo de ficheros y directorios
-

r+: Abre el fichero para lectura/escritura

w: Abre el fichero para escritura. Si existe e fichero lo borra. Si no existe lo


intenta crear.

w+: Abre el fichero para lectura/escritura. Si existe e fichero lo borra. Si no


existe lo intenta crear.

a: Abre el fichero para modificarlo y se sita al final del testo escrito del fichero.

b: Abre el fichero en modo binario(por ejemplo imgenes gif), necesario para


S.O. como Windows cuando quieran hacer acceso a ficheros de este tipo.

Ejemplo:Intenta abrir el fichero en modo lectura(r) y modo binario(b). Si no lo puede


abrir dara un error.
<?php
if (!($fp=fopen("c:/temp/imagen.jpg","rb"))) {
echo "No se pudo abrir imagen.jpg";
}
?>

4 Cerrar ficheros
En este apartado vamos a ver como cerrar un fichero. Es importante cerrar cuando se
dejen de estar utlizando.
Sintaxis: bool fclose ( int fp)
Devuelve true si se ha cerrado correctamente.
El parmetro que se le pasa es la variable del fichero.
Es importante cerrar un fichero cuando se termine de escribir o leer para liberar el
fichero y que pueda ser accedido por ms scripts(cdigo PHP) o programas

5 Leer de ficheros
En este apartado vamos a ver como se pueden leer de ficheros.

5.1 fread
Sintaxis: string fread ( int fp, int length)
fread() lee tantos bytes como diga length o hasta que se alcance el final del
fechero, lo que suceda primero, desplazando el puntero cada length bytes

pgina 5

Creacin de paginas web con PHP y MySql Tema 10. Manejo de ficheros y directorios

<?php
if (!($fp=fopen("a.txt","r"))) {
echo "No se pudo abrir a.txt";
}
else {
while($buffer = fread($fp, 100)){
echo $buffer;
} // while
}
?>

5.2 fgetc
Esta funcin devuelve todo el contenido de un fichero a un cadena de texto.
Sintaxis: string fgetc ( int fp)
Ejemplo:
<?PHP
//abre un archivo e imprime cada linea
$archivo = fopen("data.txt" , "r");
$linea = fgetc($archivo);
echo $linea;
fclose ($archivo);
?>

5.3 fgets
La funcin 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

pgina 6

Creacin de paginas web con PHP y MySql Tema 10. Manejo de ficheros y directorios
$archivo = fopen("data.txt" , "r");
if ($archivo) {
while (!feof($archivo)) {
$linea = fgets($archivo, 255);
echo $linea;
}
}
fclose ($archivo);
?>

La funcin feof devuelve TRUE si puntero de lectura/escritura se encuentra al final del


fichero, y FALSE en caso contrario.

6 Escribir en ficheros
En este apartado vamos a ver como escribir datos en un fichero.
fputs (indicador_archivo, cadena)
La funcin fputs escribe una cadena en el fichero indicado. Para escribir en una archivo este
debe haber sido previamente abierto. La funcin 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);

?>

pgina 7

Creacin de paginas web con PHP y MySql Tema 10. Manejo de ficheros y directorios

7 Comprobar si el fichero existe


Esta funcin devuelve TRUE si el archivo especificado existe, y FALSE en caso
contrario.
Sintaxis: file_exists(nombre_fichero)
Ejemplo:
<?PHP
if (file_exists("data.txt")) {
echo "El fichero existe";
} else {
echo "El fichero NO existe";
}
?>

8 Copiar fichero de un directorio a otro


La funcin copy copia un fichero de un lugar (origen) a otro (destino), devuelve TRUE
si la copia a tenido xito y FALSE en caso contrario
Sintaxis: copy (origen, destino)
Ejemplo:
<?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";
}
?>

pgina 8

Creacin de paginas web con PHP y MySql Tema 10. Manejo de ficheros y directorios

pgina 9

Vous aimerez peut-être aussi