Diferencia entre revisiones de «Usuario:ManuelRomero/ProgramacionWeb/ficheros/ejercicios»
De WikiEducator
(→Ejercicio 6: Renombrando ficheros) |
(→Ejercicio 20: Escribir en un fichero) |
||
| (2 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 /> | ||
Última revisión de 15:47 18 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




