Inicio | Registro | Foros | Ayuda | Contacto
Zips del Conocimiento
  Contenido
Cursos y manuales
Directorio de Cursos, Manuales y Tutoriales
Libros digitales gratis
Capsulas del Saber
Tests Online
Archivo de Zips
Envío de Zips
Servicios

  Populares
- Mecánica de los fluidos e hidráulica
- Londres tendrá una turbina eólica gigante
- Descubren un cometa similar al Halley
- 25 millones por ayudar a eliminar el efecto invernadero
- Cómo usar tazas y cucharas de medida
- Un icono para cada librería dll
- Alimentos prohibidos para niños de 1 a 2 años
- Prueba OpenSuse LiveDVD
- Inicio de año buscando objetivos
- Ratios Financieros
- Simbolismo masónico
- Cómo decir no
- Protégase del frío para evitar enfermedades
- ¿Cómo se juega al Sudoku?
- Cacao se impone en la moda de los cosméticos


 :: Tutorial: Gestión de archivos mediante PHP

Resumen del Recurso

Describe el procedimiento y rutinas para la gestión de archivos mediante el lenguaje PHP.
Tabla de Contenidos

• Introducción
• Abriendo y cerrando un archivo
• Navegando un archivo
• Leyendo un archivo
• Escribiendo en un archivo
• Copiando un archivo
• Renombrando un archivo
• Eliminando un archivo
• Información de los archivos

Introducción

En una aplicación web es sumamente importante permitir al navegante la posibilidad de manipular, ya sea subiendo archivos planos o fotos mediante un simple formulario y no utilizando un cliente ftp.
Para usuarios avanzados este método quizás es el más usual y conveniente pero en términos de usabilidad debemos evaluar poder ofrecer esta opción a usuarios noveles.

Además, es innegable que en muchos casos puede ser mas cómodo y hasta más sencillo y manejable utilizar simples archivos de textos que complejas bases de datos.

Por ello en este tutorial iremos tocando las diversas operaciones que podremos realizar sobre un determinado archivo, a saber:

Leer
Escribir
Copiar
Renombrar
Eliminar

Asimismo iremos conociendo más a fondo el tema de permisos de acceso a esos archivos.

Abriendo y cerrando un archivo

Para poder abrir un archivo deberemos usar la función fopen(). Que hace fopen()? Básicamente crea un apuntador o “puntero” que apunta a una dirección determinada y permite posteriormente abrir una “secuencia” o proceso, que puede usarse para borrar, editar o bien limpiar un archivo de valores anteriores.

La sintaxis que usa esta función es:

Fopen (nombre del archivo, modo)

Si bien el primer parámetro es sencillo de entender (el nombre de nuestro archivo, por ejemplo: archivo.txt) tengamos en cuenta siempre, que además, debemos indicar el camino absoluto o relativo al archivo en cuestión. Ejemplo:

$archivo = “contenidos/ejemplo.txt”;

$puntero= fopen($archivo, “r”);

En el segundo valor conviene que nos detengamos un poco para poder aclararlo en forma más profunda. El modo significa la forma de apertura o tipo de acceso que elegiremos y depende en gran medida de la necesidad especifica que tengamos para con el mismo.

Por ejemplo, si sólo deseamos leerlo estará de más abrirlo también para edición. Con este sencillo listado de valores veremos cada modo en forma especial:

• Fopen (“ejemplo.txt”, “a”): Se abre de esta forma sólo cuando se agrega información, en este caso puntual, al final del archivo. Con el agregado del operador + (por ejemplo: Fopen (ejemplo.txt, “a+”) ) no solo se busca agregar información sino también leerlo. En ambos casos la información se agrega al final del archivo. En términos de programación se habla de un “apuntador” que se coloca al final del archivo. De igual forma, tanto con “a” como con “a+” si el archivo no existía se procede a crearlo.

• Fopen (“ejemplo.txt”, “r”): Se abre de esta forma sólo cuando se busca leer información. Con el agregado del operador + (por ejemplo: Fopen (“ejemplo.txt”, “r+”) ) no sólo se busca leer información sino también escribir en el archivo. En este ultimo caso la información se agrega al principio del archivo.

• Fopen (“ejemplo.txt”, “w”): Se abre de esta forma sólo cuando se busca escribir información borrando todo el contenido existente del archivo. Con el agregado del operador + (por ejemplo: Fopen (“ejemplo.txt”, “w+”) ) no solo se busca escribir información sino también lectura. De igual forma, tanto con w como con w+ si el archivo no existía se procede a crearlo.

Por ejemplo:

$archivo = “ejemplo.txt”;

$puntero= fopen($archivo, “r”);

Es importante que el archivo sea accesible para PHP, así que debe asegurarse de que los permisos de acceso del archivo sean los apropiados.

En el caso de surgir errores en la apertura podríamos controlar el mensaje de salida utilizando la arroba (@) con el operador die() (lo hemos visto en manejo de consultas y conexiones a bases de datos) podremos dar un mensaje mas amistoso al usuario, por ejemplo:

$archivo = “ejemplo.txt”;

@(fopen($archivo, “r”)) or die (“No fue posible abrir el archivo $archivo”);

Por ultimo, y esto vale para todos los casos, es de suma importancia prestar atención a las barras, según sea el sistema operativo que usemos. Más aún si, por ejemplo, trabajamos en modo local en Windows y luego subimos nuestros archivos a un servidor Linux. Por ejemplo:

// Windows
$fh = fopen('c:temp', 'r');

// Linux
$fh = fopen('/tmp', 'r');

Si han visto el manejo de una conexión a base de datos podrán recordar que así como en algún momento abríamos el enlace a la base al finalizar también cerrábamos ese vinculo de conexión. Aquí ocurre algo similar, es decir, la conexión a un archivo podrá ser cerrado con la opción fclose(). Un ejemplo de esta función es:

fclose($puntero)

Como ven estamos cerrando el archivo pero invocamos al puntero a esa conexión y no la variable que representa al archivo. Esto es importante destacarlo ya que suele ser motivo de confusión y produce frecuentes errores en el código.

Navegando un archivo

Una vez abierto un archivo podemos movernos en el, a través de los punteros internos y diversas funciones que seguidamente estudiaremos:

$archivo = “ejemplo.txt”;
$puntero = fopen($archivo, 'r');

feof($puntero); Es un operador booleano que nos indicará TRUE si el puntero se encuentra al final del archivo y FALSE en caso contrario.

rewind($puntero); Devuelve el puntero al comienzo del archivo.

fseek($puntero, 5); Envía el puntero a la posición (en bytes) indicada en el segundo parámetro.

ftell($puntero); Devuelve la posición actual del puntero dentro del archivo (en bytes).

Leyendo un archivo

Una vez que creamos las condiciones de apertura, por ejemplo, para leer el archivo procederemos a utilizar las funciones para llevar a buen puerto dicha operación.

PHP nos permitirá leer el archivo recorriéndolo en su totalidad o bien en forma parcial. Para el primer caso usaríamos fpassthru() en un ejemplo simple de la siguiente forma:

$archivo = “ejemplo.txt”;
$puntero = fopen($archivo, 'r');
$contenido = fpassthru($puntero);
fclose($puntero);
echo $contenido;

En el caso anterior podríamos haber obviado la función fclose(); ya que la función fpassthru(); cierra automáticamente el archivo una vez que cumplió su cometido.

En el caso que sólo deseemos leer una parte del archivo usaremos la función fread() Esta función utiliza el segundo parámetro como tope de una cantidad estipulada de caracteres (contando desde el principio) y se apoya en la orden echo para imprimir esa cantidad determinada por pantalla. Por ejemplo, si deseáramos escribir sólo los primeros 20 caracteres de nuestro archivo de ejemplo lo haríamos de la siguiente manera:

$archivo = “ejemplo.txt”;

$puntero= fopen($archivo, 'r');

echo fread($puntero, 20);

fclose($puntero);

Por otra parte podemos utilizar la función readfile(), para la cual, no necesitamos abrir el archivo de ninguna manera para obtener su contenido. Por ejemplo:

$archivo = “ejemplo.txt”;

readfile($archivo);

Esta función escribirá el contenido del archivo directamente. Debemos tener en cuenta que si hacemos un echo de esta función o guardamos el contenido en un variable, al final del mismo se agregará un número correspondiente al tamaño del archivo expresado en bytes.

Asimismo existen otras funciones como file(), fgetc(), fgets(), etc que permiten manipular de diferentes formas un archivo. Si algo diferencia a PHP y lo hace poderoso es la gran cantidad de posibilidades que brinda en ese sentido, en parte gracias a la poderosa y rica herencia proveniente de lenguajes como C y Perl.

Escribiendo en un archivo

Una vez que abrimos un archivo con las intenciones de escribir en el, podemos usar las funciones fwrite(); o fputs(); que es en realidad un alias de la primera.

Primero debemos abrir el archivo y para ello utilizamos lo siguiente:

$archivo = “ejemplo.txt”;

$puntero = fopen($archivo, 'w+');

donde al usar w+ borraremos todo el contenido del archivo y además si el archivo no existiera, se crearía uno.
Luego escribiremos una cadena de texto en el, y por último lo cerramos.

$contenido = “Este es el texto que escribiremos. Bienvenidos ”;

fwrite($puntero, $contenido);

fclose($puntero);

Con esto habremos escrito la cadena guardada en la variable $contenido dentro del archivo “ejemplo.txt”. La función fwrite(); acepta un tercer parámetro numérico que indica la cantidad máxima de caracteres a escribir, si la cadena es más larga que este número, sólo se escribirán los caracteres permitidos.

Otra forma de escribir dentro de archivos es agregando caracteres al final de un archivo que ya posee contenido, para ello abriremos el mismo utilizando el parámetro a+.

$archivo = “ejemplo.txt”;
$puntero = fopen($archivo, 'a+');
$ContenidoFinal = “Esto es texto adicional...”;
fwrite($puntero, $ContenidoFinal);
fclose($puntero);

de esta manera hemos agregado la cadena de texto guardada en la variable $ContenidoFinal al final del archivo.

Copiando un archivo

Para hacer copias PHP se vale de la función copy(), la cual recibe como argumentos el archivo origen como primer parámetro y el destino como segundo, es decir:

copy (archivo origen, archivo destino);

Por ejemplo:

$archivo_origen = “ejemplo.txt”;
$archivo_copia = “copia_de_ejemplo. txt”;
copy ($archivo_origen, $archivo_copia);

Esta función es usualmente muy usada para enviar archivos a través de formularios usando a este como un transporte pasajero hacia su ubicación definitiva.

Renombrando un archivo

Para renombrar un archivo usaremos la función rename() que al igual que copy() recibe dos parámetros de origen y destino, es decir:

rename (nombre archivo anterior, nuevo nombre de archivo);

Por ejemplo:

$viejo_nombre = ‘ejemplo.txt’;
$nuevo_nombre = ‘ejemplo_renombrado.txt’;
rename ($viejo_nombre, $nuevo_nombre);

Eliminando un archivo

Si lo que necesitamos es eliminar un archivo, haremos uso de la función unlink(); Veamos el siguiente ejemplo:

$archivo= “../contenido/ejemplo.txt”;

unlink($archivo);

Información de los archivos

Del mismo modos y gracias a las ya mencionadas innumerables posibilidades que ofrece PHP podremos averiguar características de los archivos tales como su tipo y su peso con funciones como filetype() y fsize(), si es un archivo regular o bien una carpeta a través de is_file() o is_dir(), si del tipo ejecutable con la función is_executable(), si es un enlace, etc.

También podremos controlar el estado del archivo a nivel de permisos. En ese sentido contamos con funciones como is_readable() o is_writeable(), las cuales chequean si podemos leer o escribir respectivamente en el archivo que pasamos como parámetro de dichas funcionalidades.

Invitamos a todos a investigar esta sección con mucho detenimiento ya que contamos con gran cantidad de herramientas que harán muy sencillo y hasta atractivo el procesamiento avanzado de archivos, directorios y cadenas dentro de esos archivos.

Como siempre este es sólo un pequeño puntapié para que luego Uds. Ingresen de lleno en este tema de la gestión de archivo.

Fuente: dattatec.com


 
  Opciones
Zips GRATIS en tu email:

  Agregar a favoritos
 Versión Imprimible Versión Imprimible
 Enviar a un Amigo Enviar a un Amigo

Compartir:

delicious
  yahoo meneame

Zips Populares
- Visualizan cómo el sida infecta las células humanas
- Superstición: La Luna es mujer
- La Encuesta y tipos de encuesta
- Ideas para las mamas que trabajan
- Suposiciones mortales del e-business
- G2P, el buscador de MP3s basado en Google
- Aislamiento del espacio hueco debajo del piso







Si buscas algún curso manual guía recurso definición libro ó ebook gratis este es tu lugar.
Sindicar contenidos
Educación no formal - Diario Tecnológico - Cursos Gratis - ConocimientosWeb
Todos los logos y nombres mencionados de marcas que se publican en este sitio son de sus respectivos dueños.
Condiciones de Uso