PHP
Ficheros <ul><li>PHP permite acceder a información almacenada en ficheros.
Por una parte, existe la posibilidad de usar &quot;gestores de bases de datos&quot;, como MySQL, Oracle, …
Pero también se puede acceder a &quot;ficheros normales&quot;, esta operación es muy frecuente cuando queremos guardar inf...
PHP  provee de una extensa gama de funciones de acceso a ficheros.
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. </li></ul>
Función fopen <ul><li>Permite abrir un fichero, bien sea local o una dirección de internet (http:// o ftp://).
Sintáxis:  fopen (archivo, modo)
La función fopen nos devuelve un valor numérico ( descriptor de archivo ) de tipo entero que nos servirará para hacer refe...
archivo : indica la ruta para acceder alarchivo.
Con fopen podemos abrir un archivo de los siguientes modos: </li><ul><li>'r'    Apertura para sólo lectura; ubica el apunt...
Upcoming SlideShare
Loading in …5
×

Ficheros Php

4,493 views
4,373 views

Published on

Acceso a ficheros en PHP. Operaciones CRUD

Published in: Education, Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,493
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
153
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Ficheros Php

  1. 1. PHP
  2. 2. Ficheros <ul><li>PHP permite acceder a información almacenada en ficheros.
  3. 3. Por una parte, existe la posibilidad de usar &quot;gestores de bases de datos&quot;, como MySQL, Oracle, …
  4. 4. Pero también se puede acceder a &quot;ficheros normales&quot;, esta operación es muy frecuente cuando queremos guardar información de menos complejidad.
  5. 5. PHP provee de una extensa gama de funciones de acceso a ficheros.
  6. 6. Vamos a las funciones básicas, abrir (fopen), cerrar (fclose), leer (fgets) y escribir (fputs).
  7. 7. Estas cuatro nos solventaran la mayoria de problemas que nos surgan con respecto al acceso a ficheros. </li></ul>
  8. 8. Función fopen <ul><li>Permite abrir un fichero, bien sea local o una dirección de internet (http:// o ftp://).
  9. 9. Sintáxis: fopen (archivo, modo)
  10. 10. La función fopen nos devuelve un valor numérico ( descriptor de archivo ) de tipo entero que nos servirará para hacer referencia al archivo abierto o FALSE si ocurre un error.
  11. 11. archivo : indica la ruta para acceder alarchivo.
  12. 12. Con fopen podemos abrir un archivo de los siguientes modos: </li><ul><li>'r' Apertura para sólo lectura; ubica el apuntador de archivo al comienzo del mismo.
  13. 13. ' r+' Apertura para lectura y escritura; ubica el apuntador de archivo al comienzo del mismo.
  14. 14. 'w' Apertura para sólo escritura; ubica el apuntador de archivo al comienzo de éste y lo trunca a una longitud de cero. Si el archivo no existe, intenta crearlo.
  15. 15. 'w+' Apertura para lectura y escritura; ubica el apuntador de archivo al comienzo de éste y lo trunca a una longitud cero. Si el archivo no existe, intenta crearlo.
  16. 16. 'a' Apertura para sólo escritura; ubica el apuntador de archivo al final del mismo. Si el archivo no existe, intenta crearlo.
  17. 17. 'a+' Apertura para lectura y escritura; ubica el apuntador de archivo al final del mismo. Si el archivo no existe, intenta crearlo. </li></ul></ul>
  18. 18. fgets <ul><li>La función fgets nos devuelve una linea o una cadena con la longitud especificada del fichero al que apunta el indicador de archivo.
  19. 19. Sintaxis : fgets (indicador_archivo[, longitud]) </li></ul><?php //abre un archivo e imprime cada linea $gestor = fopen (&quot;data.txt&quot; , &quot;r&quot;); if ($gestor) { while (! feof ($gestor)) { $linea = fgets ($gestor, 255); echo $linea; } } fclose ($archivo); ?> <ul><li>La función feof devuelve TRUE si puntero de lectura/escritura se encuetra al final del fichero, y FALSE en caso contrario. </li></ul>
  20. 20. fputs - fwrite <ul><li>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.
  21. 21. Sintaxis : fputs (indicador_archivo, cadena)
  22. 22. Ejemplo: </li></ul>if ( is_writable ('archivo.txt')) { if (!$gestor = fopen ('archivo.txt', 'a')) { echo &quot;No se puede abrir el archivo&quot;; exit; } // Escribir $contenido a nuestro arcivo abierto. if ( fwrite ($gestor, $contenido) === FALSE) { echo &quot;No se puede escribir al archivo ($nombre_archivo)&quot;; exit; } fclose ('archivo.txt'); }
  23. 23. fclose <ul><li>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.
  24. 24. Sintaxis : fclose (indicador_archivo) </li></ul>
  25. 25. copy <ul><li>Hace una copia de origen a destino . Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.
  26. 26. Si el archivo de destino ya existe, será sobreescrito.
  27. 27. Sintaxis : int copy ( string $origen , string $destino )
  28. 28. Ejemplo: </li></ul>$file = 'example.txt'; $newfile = 'example.txt.bak'; if (! copy ($file, $newfile)) { echo &quot;failed to copy $file... &quot;; }
  29. 29. unlink <ul><li>Elimina un fichero. Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.
  30. 30. Sintaxis : bool unlink ( string $nombre_archivo [, resource $contexto ]) </li></ul>
  31. 31. Operaciones típicas <ul><li>Cuando accedemos a los fichero de forma secuencial
  32. 32. Existen una serie de operaciones frecuentes sobre ficheros de las que conviene saber formas típicas de resolverlas.
  33. 33. Listar o mostrar </li><ul><li>Se abre el fichero en modo lectura y se recorre elemento a elemento y se muestra o se localiza el elemento a mostrar y se muestra </li></ul></ul>$gestor = @ fopen (&quot;/tmp/archivo_entrada.txt&quot;, &quot; r &quot;); if ($gestor) { while (! feof ($gestor)) { $bufer = fgets ($gestor); echo $bufer; } fclose ($gestor); }
  34. 34. Operaciones típicas <ul><li>Añadir </li><ul><li>Se abre el fichero en modo añadir y se escriben los elementos en el fichero. </li></ul></ul>if (!$gestor = fopen (“/tmp/archivo.txt&quot;, ' a ')) { echo &quot;No se puede abrir el archivo&quot;; exit; } if ( fwrite ($gestor, $contenido) === FALSE) { echo &quot;No se puede escribir al archivo&quot;; exit; } fclose ($gestor);
  35. 35. Operaciones típicas <ul><li>Borrar elemento </li><ul><li>Se abre el fichero en modo lectura. Se abre un fichero temporal en modo escritura. Se van leyendo todos los elementos del fichero original y se van escribiendo en el temporal menos el elemento a eliminar.
  36. 36. Se copia el fichero temporal al fichero original. </li></ul></ul>$gestor1 = fopen (“datos.txt&quot;, ' r '); $gestor2 = fopen (“temp.txt&quot;, ' w '); while (! feof ($gestor1)){ $linea = fgets ($gestor1); if ($linea != $a_eliminar) fwrite ($gestor2, $linea); } fclose ($gestor1); fclose ($gestor2);
  37. 37. Operaciones típicas <ul><li>Modificarar elemento </li><ul><li>Se abre el fichero en modo lectura. Se abre un fichero temporal en modo escritura. Se van leyendo todos los elementos del fichero original y se van escribiendo en el temporal menos el elemento a modificar que una vez localizado se escribe modificado.
  38. 38. Se copia el fichero temporal al fichero original. </li></ul></ul>$gestor1 = fopen (“datos.txt&quot;, ' r '); $gestor2 = fopen (“temp.txt&quot;, ' w '); while (! feof ($gestor1)){ $linea = fgets ($gestor1); if ($linea != $a_eliminar) fwrite ($gestor2, $linea ); else fwrite ($gestor2, $linea_modificada ); } fclose ($gestor1); fclose ($gestor2);

×