Diferencia entre revisiones de «Usuario:ManuelRomero/ProgramacionWeb/ficheros/ejercicios»
De WikiEducator
(→Ejercicio 20: Escribir en un fichero) |
|||
(12 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 3: | Línea 3: | ||
{{:Usuario:ManuelRomero/ProgramacionWeb/Ficheros/nav}} | {{:Usuario:ManuelRomero/ProgramacionWeb/Ficheros/nav}} | ||
+ | ==Ejercicios de ficheros CRUD== | ||
+ | *Esta primera parte consiste en realizar ejercicios para aprender a usar el sistema de fichero en el servidor. | ||
+ | *Es un frecuente llevar un log de lo que hace nuestra aplicación. | ||
+ | *Para implementar estos ejercicio utiliza la programación orientada a objetos | ||
+ | (Contruye una clase llamada Fichero y desarrolla los métodos que necesites) | ||
+ | ;Realiza los ejercicios planteados en el wiki, intenta hacerlos y luego compararlos con la solución | ||
+ | ===[[Usuario:ManuelRomero/ProgramacionWeb/ficheros/ejercicios/ejercicio1|Ejercicio 1: Escribir en un fichero]]=== | ||
<br /> | <br /> | ||
− | + | {{MRM_Actividad|Title=Ejercicio 1: Escribir en un fichero| | |
− | {{MRM_Actividad| | + | *Realiza un programa para escribir contenido en un fichero |
− | * | + | |
*Lo podrás hacer tanto en modo añadir como en modo escribir | *Lo podrás hacer tanto en modo añadir como en modo escribir | ||
*Verifica luego en el directorio del proyecto que ha funcionado correctamente | *Verifica luego en el directorio del proyecto que ha funcionado correctamente | ||
[[Archivo:practica_ficheros_escribir.png]] | [[Archivo:practica_ficheros_escribir.png]] | ||
}} | }} | ||
− | {{MRM_Actividad| | + | <br /> |
+ | ===[[Usuario:ManuelRomero/ProgramacionWeb/ficheros/ejercicios/ejercicio20|Ejercicio 20: Escribir en un fichero]]=== | ||
+ | <br /> | ||
+ | {{MRM_Actividad|Title=Ejercicio 20: Obtener el contenido de un directorio| | ||
+ | *Se quiere obtener el contenido de todos los directorios de mi documentRoot, de aquellos que tengan en su contenido un fichero llamado index.php | ||
+ | *Se retornará estos directorios en una una ancla html | ||
+ | <source lang=html5> | ||
+ | <a href=$directorio/index.php>$directorio</a> | ||
+ | <a href=/var/www/calculadora/index.php>Caculadora</a> | ||
+ | </source> | ||
+ | *A la vez anotaremos en un log llamado log.txt, una anotació por cada vez que se ejecute | ||
+ | |||
+ | Fecha dia/mes/año h:minuto:s cuantos directorios se han entregado | ||
+ | |||
+ | |||
+ | {{plegable|hide|posible_solucion| | ||
+ | <source lang=php> | ||
+ | <?php | ||
+ | $numero_directorios=0; | ||
+ | |||
+ | //Obtenemos los directorios que nos interesan del /var/www | ||
+ | $ficheros = scandir("/var/www"); | ||
+ | var_dump($ficheros); | ||
+ | foreach ($ficheros as $fichero) { | ||
+ | if (is_dir("/var/www/$fichero")) | ||
+ | if (file_exists("/var/www/$fichero".DIRECTORY_SEPARATOR."index.php")) { | ||
+ | echo "<a target='_blank' href='http://localhost/$fichero/index.php'> | ||
+ | $fichero</a><br>"; | ||
+ | $numero_directorios++; | ||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | //Preparo el log donde anotar informacion de cada ejecución | ||
+ | $log = fopen("./log/log.txt", "a"); | ||
+ | $fecha = date("d/m/Y H:i:s"); | ||
+ | $cadena = "$fecha Se han entregado $numero_directorios directorios ".PHP_EOL; | ||
+ | fwrite($log, $cadena); | ||
+ | fclose($log); | ||
+ | |||
+ | |||
+ | ?> | ||
+ | <!doctype html> | ||
+ | <html lang="en"> | ||
+ | <head> | ||
+ | <meta charset="UTF-8"> | ||
+ | <meta name="viewport" | ||
+ | content="width=device-width"> | ||
+ | <meta http-equiv="X-UA-Compatible" content="ie=edge"> | ||
+ | <title>Document</title> | ||
+ | </head> | ||
+ | <body> | ||
+ | <h1>Hola</h1> | ||
+ | </body> | ||
+ | </html> | ||
+ | |||
+ | </source> | ||
+ | |||
+ | }} | ||
+ | |||
+ | |||
+ | }} | ||
+ | |||
+ | [[Archivo:practica_ficheros_escribir.png]] | ||
+ | }} | ||
+ | <br /> | ||
+ | |||
+ | ===[[Usuario:ManuelRomero/ProgramacionWeb/ficheros/ejercicios/ejercicio2|Ejercicio 2: Escribir y leer en un fichero]]=== | ||
+ | <br /> | ||
+ | {{MRM_Actividad|Title=Ejercicio 2: Escribir y leer de un fichero| | ||
+ | *Modifica el ejercicio anterior con una nueva opción llamada Leer | ||
+ | *En este caso se leerá el fichero especificado si existe, y su contenido aparecerá en el textarea | ||
+ | *En caso de no existir el fichero no se visualizará nada | ||
+ | *En la parte superior del forumulario debe de aparecer un mensaje informativo según la acción que se esté ejecutando | ||
+ | #Inserte datos y seleccione opción | ||
+ | #Se ha creado el fichero especificado o no se ha podido crear el fichero | ||
+ | #Se ha leído el fichero especificado o no se ha podido leer | ||
+ | |||
+ | [[Archivo:practica_ficheros_escribir.png]] | ||
+ | }} | ||
+ | <br /> | ||
+ | |||
+ | ===[[Usuario:ManuelRomero/ProgramacionWeb/ficheros/ejercicios/ejercicio3|Ejercicio 3: Leer un directorio]]=== | ||
+ | <br /> | ||
+ | {{MRM_Actividad|Title= Ejercicio 3: Leer de un directorio| | ||
*Un programa que nos muestre en un deplegable todos los ficheros del directorio actual | *Un programa que nos muestre en un deplegable todos los ficheros del directorio actual | ||
*Alternativamente puedes tener una caja de texto para especificar el directorio | *Alternativamente puedes tener una caja de texto para especificar el directorio | ||
Línea 22: | Línea 112: | ||
PRueba a crear ficheros con la práctica 1 y leerlos con la practica 2 | PRueba a crear ficheros con la práctica 1 y leerlos con la practica 2 | ||
}} | }} | ||
+ | <nr /> | ||
− | {{MRM_Actividad| | + | ===[[Usuario:ManuelRomero/ProgramacionWeb/ficheros/ejercicios/ejercicio4|Ejercicio 4: Leer el contenido de un fichero]]=== |
− | Partiendo de que tenemos un fichero llamado '''''nombres.txt''''' en el directorio actual | + | <br /> |
+ | {{MRM_Actividad|Title= Ejercicio 4: Leer el contendio de un fichero| | ||
+ | *Partiendo de que tenemos un fichero llamado '''''nombres.txt''''' en el directorio actual | ||
{{Plegable|hide|nombres.txt| | {{Plegable|hide|nombres.txt| | ||
<source lang=html5> | <source lang=html5> | ||
Línea 46: | Línea 139: | ||
Las funciones que trabajan con el puntero retornan nul si ya he llegado al final del fichero | Las funciones que trabajan con el puntero retornan nul si ya he llegado al final del fichero | ||
}} | }} | ||
− | {{MRM_Actividad| | + | |
+ | <br /> | ||
+ | |||
+ | ===[[Usuario:ManuelRomero/ProgramacionWeb/ficheros/ejercicios/ejercicio5|Ejercicio 5: Crear un borrar ficheros]]=== | ||
+ | <br /> | ||
+ | {{MRM_Actividad|Title= Ejercicio 5: Crear y borrar ficheros| | ||
;Un programa que nos permita crear y borrar ficheros | ;Un programa que nos permita crear y borrar ficheros | ||
*Trabajaremos sobre un directorio llamado ficheros de nuestro proyecto | *Trabajaremos sobre un directorio llamado ficheros de nuestro proyecto | ||
Línea 59: | Línea 157: | ||
[[Archivo:borrar_crear_ficheros.png]] | [[Archivo:borrar_crear_ficheros.png]] | ||
}} | }} | ||
− | {{MRM_Actividad| | + | <br /> |
− | + | ||
+ | ===[[Usuario:ManuelRomero/ProgramacionWeb/ficheros/ejercicios/ejercicio7|Ejercicio 7: Renombrando ficheros]]=== | ||
+ | <br /> | ||
+ | {{MRM_Actividad|Title= Ejercicio 7: Renombrando ficheros | | ||
*Trabajaremos sobre un directorio llamado ficheros de nuestro proyecto que tendrá una serie de ficheros | *Trabajaremos sobre un directorio llamado ficheros de nuestro proyecto que tendrá una serie de ficheros | ||
*mostraremos un desplegable con todos los ficheros | *mostraremos un desplegable con todos los ficheros |
Última revisión de 04:47 19 ene 2022
Ejercicios de ficheros CRUD
- Esta primera parte consiste en realizar ejercicios para aprender a usar el sistema de fichero en el servidor.
- Es un frecuente llevar un log de lo que hace nuestra aplicación.
- Para implementar estos ejercicio utiliza la programación orientada a objetos
(Contruye una clase llamada Fichero y desarrolla los métodos que necesites)
- Realiza los ejercicios planteados en el wiki, intenta hacerlos y luego compararlos con la solución
Ejercicio 1: Escribir en un fichero
Ejercicio 20: Escribir en un fichero
<a href=$directorio/index.php>$directorio</a> <a href=/var/www/calculadora/index.php>Caculadora</a>
Fecha dia/mes/año h:minuto:s cuantos directorios se han entregado
|
Ejercicio 2: Escribir y leer en un fichero
|
Ejercicio 3: Leer un directorio
<nr />
Ejercicio 4: Leer el contenido de un fichero
filesize($nombre_fichero) retorna el tamaño en bytes del fichero fseek ( resource $file, int $offset) pone la cabeza de leer/escribir en el fichero en la posición especificada: 0 al principio del fichero) Las funciones que trabajan con el puntero retornan nul si ya he llegado al final del fichero
|
Ejercicio 5: Crear un borrar ficheros
$name tempnam($directorio,$prefijo); $directorio es el directorio dónde se creará el fichero aleatorio $prefijo es un string que se pondrá delante del nombre aleatorio generado $name es el nombre del fichero que se ha creado (false si no se ha podido crear)
|
Ejercicio 7: Renombrando ficheros