Diferencia entre revisiones de «Usuario:ManuelRomero/ProgramacionWeb/ficheros/ejercicios»
De WikiEducator
(→Ejercicio 3: Leer el contenido de un fichero) |
(→Ejercicio 20: Escribir en un fichero) |
||
(6 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 18: | Línea 18: | ||
}} | }} | ||
<br /> | <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]]=== | ===[[Usuario:ManuelRomero/ProgramacionWeb/ficheros/ejercicios/ejercicio2|Ejercicio 2: Escribir y leer en un fichero]]=== | ||
<br /> | <br /> | ||
Línea 48: | Línea 114: | ||
<nr /> | <nr /> | ||
− | ==[[Usuario:ManuelRomero/ProgramacionWeb/ficheros/ejercicios/ejercicio4|Ejercicio 4: Leer el contenido de un fichero]]=== | + | ===[[Usuario:ManuelRomero/ProgramacionWeb/ficheros/ejercicios/ejercicio4|Ejercicio 4: Leer el contenido de un fichero]]=== |
<br /> | <br /> | ||
{{MRM_Actividad|Title= Ejercicio 4: Leer el contendio de un fichero| | {{MRM_Actividad|Title= Ejercicio 4: Leer el contendio de un fichero| | ||
Línea 76: | Línea 142: | ||
<br /> | <br /> | ||
− | ===[[Usuario:ManuelRomero/ProgramacionWeb/ficheros/ejercicios/ | + | ===[[Usuario:ManuelRomero/ProgramacionWeb/ficheros/ejercicios/ejercicio5|Ejercicio 5: Crear un borrar ficheros]]=== |
<br /> | <br /> | ||
− | {{MRM_Actividad|Title= Ejercicio | + | {{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 92: | Línea 158: | ||
}} | }} | ||
<br /> | <br /> | ||
− | ===[[Usuario:ManuelRomero/ProgramacionWeb/ficheros/ejercicios/ | + | |
+ | ===[[Usuario:ManuelRomero/ProgramacionWeb/ficheros/ejercicios/ejercicio7|Ejercicio 7: Renombrando ficheros]]=== | ||
<br /> | <br /> | ||
− | {{MRM_Actividad|Title= Ejercicio | + | {{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