PHP operaciones básicas con ficheros
Es uso de ficheros en programas es una metodología que esta cayendo en desuso. Hoy en día impera es uso de base de datos, principalmete mysql, para acceder a información almacenada en disco duro.
No obstante siempre es conveniente saber hacer algunas operaciones básicas con ficheros. Para ello vamos a ver algunas de las funciones principales para el uso de los mismos.
PHP Apertura de ficheros
Para trabajar con cualquier fichero, lo primero siempre deberá ser abrirlo para abrirlo usaremos la función fopen($fichero,$modo,[TRUEl]). Básicamente usaremos solamente los dos primeros atributos, en el primero indicamos la ruta completa del fichero y en el segundo el modo de apertura. Disponemos de los siguientes modos de apertura.
- r, solo lectura
- r+, lectura y escritura
- w, sólo escritura, borrará el contenido, no aconsejable salvo que queramos borrar
- w+,lectura y escritura borrando el contenido
- q, sólo escritura conservando el contenido
- a+, lectura y escritura conservando el contenido
- x, creación más escritura, si el fichero existe devolverá un error
- x+, creación más apertura lectura y escritura si el fichero existe devolverá un error
Básicamente los usaremos así, para crear un fichero x+, para escribir o leer en fichero existente a+. La función fopen siempre devolverá un entrero mayor que cero con el apuntador a fichero abierto creado Veamos esto con un ejemplo. Para ello usaremos el fichero de la entrada anterior (hablar).
<?php class gestor_fichero { private $fichero; //Atributo privado public function abrir_crear($nombre,$modo) //Método público { $this->fichero=fopen($nombre,$modo); if ($this->fichero) return TRUE; else return FALSE; } } $f=new gestor_fichero; if ($f->abrir_crear("hablar","r+")) echo "<p>Apertura de lectura correcta</p>"; else echo "<p>Apertura de lectura incorrecta</p>"; $f2=new gestor_fichero; if ($f2->abrir_crear("hablemos","x+")) echo "<p>Creacion apertura correcta</p>"; else echo "<p>Creacion apertura incorrecta</p>"; unset($f); //Importante borramos el objeto. ?>
Cerrado de un fichero en PHP
Es necesario cerrar todos los ficheros que abrimos para cerrar un fichero usaremos la función fclose($fichero), siendo $fichero el apuntador al fichero abierto con fopen.
Ejercicios
- Añade el método público cerra_fichero a la clase
- Abre para lectura escritura el fichero hablar y después cierralo
-
Una posible solución
<?php class gestor_fichero { private $fichero; public function abrir_crear($nombre,$modo) { $this->fichero=fopen($nombre,$modo); if ($this->fichero) return TRUE; else return FALSE; } public function cerrar() { if (fclose($this->fichero)) return TRUE; else return FALSE; } } $f=new gestor_fichero; if ($f->abrir_crear("hablar","r+")) echo "<p>Apertura de lectura correcta</p>"; else echo "<p>Apertura de lectura incorrecta</p>"; if ($f->cerrar()) echo "<p>Fichero cerrado</p>"; else echo "<p>Error al cerrar</p>"; unset($f); ?>
Originally posted 2011-03-10 19:30:37.
[…] nada, no olvides que ya hemos visto como crear ficheros. Vamos a ver tres funciones correspondientes al borrado, copiado y renombrado del ficheros. La […]