La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Manipulación de Archivos y Directorios en el Servidor Temas: Creación, lectura, escritura, borrado de archivos y directorios.

Presentaciones similares


Presentación del tema: "Manipulación de Archivos y Directorios en el Servidor Temas: Creación, lectura, escritura, borrado de archivos y directorios."— Transcripción de la presentación:

1 Manipulación de Archivos y Directorios en el Servidor Temas: Creación, lectura, escritura, borrado de archivos y directorios

2 Manipulación de Archivos y Directorios en el Servidor Es muy común la práctica del tratamiento de archivos cualquier sitio Web. Muy a menudo se presenta la necesidad de procesar un texto para cambiarle el formato, buscar una cadena en su interior o cualquier otro tipo de operación. PHP ofrece un sinfín de funciones para la gestión de archivos que van desde las más elementales de apertura, lectura y cierre a otras más rebuscadas como el cálculo de espacio en el disco duro, tamaño del archivo, gestión de derechos de acceso.

3 Manipulación de Archivos y Directorios en el Servidor Funciones de gestión de archivos:

4 Manipulación de Archivos y Directorios en el Servidor Modos de apertura de archivos:

5 Manipulación de Archivos y Directorios en el Servidor Ejemplo 1: En el ejemplo que se muestra a continuación se presenta una lectura secuencial para localizar dentro del texto una cadena cualquiera a la que, se le cambiará el formato para ponerla en negritas utilizando de la etiqueta

6 Manipulación de Archivos y Directorios en el Servidor <?php function negrita($path,$cadena) { //Iniciamos la variable $texto = ""; //Abrimos el archivo en modo lectura $fp = fopen($path,"r"); //Leemos linea por linea el contenido del archivo while ($linea= fgets($fp,1024)){ //Sustituimos las ocurrencias de la cadena que buscamos $linea = str_replace($cadena," $cadena ",$linea); //Anadimos la linea modificada al texto $texto.= $linea; } return $texto; }

7 Manipulación de Archivos y Directorios en el Servidor //Definimos el path y la cadena $path="escribe el camino de acceso a tu archivo"; $cadena = "escribe tu cadena"; //Llamamos la funcion $texto = negrita ($path,$cadena); //Mostramos el texto echo $texto; ?>

8 Manipulación de Archivos y Directorios en el Servidor Ejemplo 2: Actualizar un contador en un archivo

9 Manipulación de Archivos y Directorios en el Servidor function incremento_contador($archivo) { // $archivo contiene el numero que actualizamos $contador = 0; //Abrimos el archivo y leemos su contenido $fp = fopen($archivo,"r"); $contador = fgets($fp, 26); fclose($fp); //Incrementamos el contador ++$contador; //Actualizamos el archivo con el nuevo valor $fp = fopen($archivo,"w+"); fwrite($fp, $contador, 26); fclose($fp); echo "Este script ha sido ejecutado $contador veces"; }

10 Manipulación de Archivos y Directorios en el Servidor function incremento_contador($destino){ $abrir = fopen($destino,"r"); $cuenta = trim(fread($abrir,filesize($destino))); if ($cuenta != "") $cuenta++; else $cuenta = 1; @fclose($abrir); $abrir = fopen($destino,"w"); @fputs($abrir,$cuenta); @fclose($abrir); }

11 Manipulación de Archivos y Directorios en el Servidor Funciones de gestión de directorios

12 Manipulación de Archivos y Directorios en el Servidor Ahora se presenta un ejemplo sencillo de lo que se puede hacer con estas funciones, se presenta un script de lectura que permite visualizar el contenido de un directorio: //definimos el path de acceso $path = "mi/camino"; //abrimos el directorio $dir = opendir($path); //Mostramos las informaciones while ($elemento = readdir($dir)) { echo $elemento." "; } //Cerramos el directorio closedir($dir);

13 Manipulación de Archivos y Directorios en el Servidor Métodos de la clase dir:

14 Manipulación de Archivos y Directorios en el Servidor //definimos el path de acceso $path="mi/camino/"; //instanciamos el objeto $dir=dir($path); //Mostramos las informaciones echo "Directorio ".$dir->path.": "; while ($elemento = $dir->read()) { echo $elemento." "; } //Cerramos el directorio $dir->close();

15 Manipulación de Archivos y Directorios en el Servidor <?php ///rename(path_origen, path_destino); Renombra un archivo. //Ejemplo: $newname ="E:\sitios\cursophp\unidad_6\ejercicio_55.txt"; rename("E:\sitios\cursophp\unidad_6\ejercicio_5.txt", "$newname"); ?>

16 Manipulación de Archivos y Directorios en el Servidor unlink(path_a_borrar); Elimina un archivo. rmdir(directorio_a_borrar); Elimina un directorio (debe estar vacío) mkdir(path_a_crear); Crea un directorio Nuevo. copy(path_origen, path_destino); Copia un archivo o varios.

17 Manipulación de Archivos y Directorios en el Servidor Ejercicio 6: Subir un Archivo a una ruta especifica del equipo

18 Manipulación de Archivos y Directorios en el Servidor Ejercicio 6: " method="post" enctype="multipart/form-data" name="form1"> Archivo

19 Manipulación de Archivos y Directorios en el Servidor <?php $path = "E:/sitios/cursophp/unidad_6/"; if($boton) { if (is_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name'])) { echo "origen--->". $HTTP_POST_FILES['archivo']['tmp_name']. " " ; echo "Destino--->". $path. $HTTP_POST_FILES['archivo']['name']. " " ; copy($HTTP_POST_FILES['archivo']['tmp_name'], $path. $HTTP_POST_FILES['archivo']['name']); $subio = true; } if($subio) { echo "El archivo subio con exito"; } else { echo "El archivo no cumple con las reglas establecidas"; } die(); } ?>

20 Manipulación de Archivos y Directorios en el Servidor Lo primero que tenemos es un bloque if que detecta si se envió el formulario, para esto preguntamos si la variable $boton esta presente, si esta presente quiere decir que se envió el formulario entonces entramos en el segundo if que comprueba que se haya enviado algún archivo, si se envió el archivo se copia (copy) desde el directorio temporario donde subió al lugar donde queremos alojarlo, en este caso al mismo directorio del script PHP.

21 Manipulación de Archivos y Directorios en el Servidor Si todo salió bien se establece la variable $subio a true para que luego sepamos que mensaje mostrarle al usuario "El archivo subio con éxito" o "El archivo no cumple...".

22 Manipulación de Archivos y Directorios en el Servidor Que es el $HTTP_POST_FILES ? Seguro que observaron que esta variable aparece muy seguido en nuestro script, la misma es una variable del tipo matriz (array) predefinida de PHP que contiene la información del archivo que estamos subiendo, por ejemplo... $HTTP_POST_FILES['archivo']['tmp_name'] - Guarda la ruta donde esta alojado temporalmente el archivo. $HTTP_POST_FILES['archivo']['name'] - Guarda el nombre del archivo (ej: "dibujo.gif").

23 Manipulación de Archivos y Directorios en el Servidor Que es el $HTTP_POST_FILES ? Para solucionar esto utilizaremos el $HTTP_POST_FILES que contiene mas información del archivo enviado, veamos... $HTTP_POST_FILES['archivo']['size'] – Devuelve el tamaño del archivo (ej: 25445) $HTTP_POST_FILES['archivo']['type'] – Devuelve el tipo de archivo.(ej: image/gif)

24 Manipulación de Archivos y Directorios en el Servidor


Descargar ppt "Manipulación de Archivos y Directorios en el Servidor Temas: Creación, lectura, escritura, borrado de archivos y directorios."

Presentaciones similares


Anuncios Google