Ficheros Php

download Ficheros Php

If you can't read please download the document

description

Acceso a ficheros en PHP. Operaciones CRUD

Transcript of Ficheros Php

  • 1. PHP

2. Ficheros

  • PHP permite acceder a informacin almacenada en ficheros.

3. Por una parte, existe la posibilidad de usar "gestores de bases de datos", como MySQL, Oracle, 4. Pero tambin se puede acceder a "ficheros normales", esta operacin es muy frecuente cuando queremos guardar informacin de menos complejidad. 5. PHPprovee de una extensa gama de funciones de acceso a ficheros. 6. Vamos a las funciones bsicas, abrir (fopen), cerrar (fclose), leer (fgets) y escribir (fputs). 7. Estas cuatro nos solventaran la mayoria de problemas que nos surgan con respecto al acceso a ficheros. 8. Funcin fopen

  • Permite abrir un fichero, bien sea local o una direccin de internet (http:// o ftp://).

9. Sintxis:fopen (archivo, modo) 10. La funcin fopen nos devuelve un valor numrico ( descriptor de archivo ) de tipo entero que nos servirar para hacer referencia al archivo abierto o FALSEsi ocurre un error. 11. archivo : indica la ruta para acceder alarchivo. 12. Con fopen podemos abrir un archivo de los siguientes modos:

  • 'r'Apertura para slo lectura; ubica el apuntador de archivo al comienzo del mismo.

13. ' r+'Apertura para lectura y escritura; ubica el apuntador de archivo al comienzo del mismo. 14. 'w' Apertura para slo 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. '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. 'a' Apertura para slo escritura; ubica el apuntador de archivo al final del mismo. Si el archivo no existe, intenta crearlo. 17. 'a+'Apertura para lectura y escritura; ubica el apuntador de archivo al final del mismo. Si el archivo no existe, intenta crearlo. 18. fgets

  • La funcin fgets nos devuelve una linea o una cadena con la longitud especificada del fichero al que apunta el indicador de archivo.

19. Sintaxis :fgets (indicador_archivo[, longitud])

  • La funcin feof devuelve TRUE si puntero de lectura/escritura se encuetra al final del fichero, y FALSE en caso contrario.

20. fputs - fwrite

  • 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.

21. Sintaxis : fputs (indicador_archivo, cadena) 22. Ejemplo:if ( is_writable ('archivo.txt')) { if (!$gestor =fopen ('archivo.txt', 'a')) { echo "No se puede abrir el archivo"; exit; } // Escribir $contenido a nuestro arcivo abierto. if ( fwrite ($gestor, $contenido) === FALSE) { echo "No se puede escribir al archivo ($nombre_archivo)"; exit; } fclose('archivo.txt'); } 23. fclose

  • Con esta funcin 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. Sintaxis :fclose (indicador_archivo) 25. copy

  • Hace una copia de origen a destino . Devuelve TRUE si todo se llev a cabo correctamente, FALSE en caso de fallo.

26. Si el archivo de destino ya existe, ser sobreescrito. 27. Sintaxis :intcopy ( string $origen, string $destino) 28. Ejemplo: $file = 'example.txt'; $newfile = 'example.txt.bak'; if (! copy ($file, $newfile)) { echo "failed to copy $file... "; } 29. unlink

  • Eliminaun fichero. Devuelve TRUE si todo se llev a cabo correctamente, FALSE en caso de fallo.

30. Sintaxis :boolunlink( string $nombre_archivo[, resource $contexto]) 31. Operaciones tpicas

  • Cuando accedemos a los fichero de forma secuencial

32. Existen una serie de operaciones frecuentes sobre ficheros de las que conviene saber formas tpicas de resolverlas. 33. Listar o mostrar

  • 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

$gestor = @ fopen ("/tmp/archivo_entrada.txt", " r "); if ($gestor) { while (! feof ($gestor)) { $bufer =fgets ($gestor); echo $bufer; } fclose($gestor); } 34. Operaciones tpicas

  • Aadir
  • Se abre el fichero en modo aadir y se escriben los elementos en el fichero.

if (!$gestor =fopen (/tmp/archivo.txt", ' a ')) { echo "No se puede abrir el archivo"; exit; } if ( fwrite ($gestor, $contenido) === FALSE) { echo "No se puede escribir al archivo"; exit; } fclose ($gestor); 35. Operaciones tpicas

  • Borrarelemento
  • 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. Se copia el fichero temporal al fichero original. $gestor1 =fopen (datos.txt", ' r '); $gestor2 =fopen (temp.txt", ' w '); while (! feof ($gestor1)){ $linea =fgets ($gestor1); if ($linea != $a_eliminar) fwrite ($gestor2, $linea); } fclose ($gestor1); fclose ($gestor2); 37. Operaciones tpicas

  • Modificararelemento
  • 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. Se copia el fichero temporal al fichero original. $gestor1 =fopen (datos.txt", ' r '); $gestor2 =fopen (temp.txt", ' w '); while (! feof ($gestor1)){ $linea =fgets ($gestor1); if ($linea != $a_eliminar) fwrite ($gestor2,$linea ); else fwrite ($gestor2,$linea_modificada ); } fclose ($gestor1); fclose ($gestor2);