Autor Tema: PHP Lectura y escritura fichero txt. fgets, fwrite, fopen, fclose CU00837B  (Leído 3342 veces)

Cabanota

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 26
    • Ver Perfil
Hola colegas. Aquí hago entrega de los ejercicios referente a este tema. Esta fue la solución que plantee. Si no esta correcta espero recibir sugerencias o mejoras. De antemano muchas gracias.

Citar
EJERCICIO

Crea el siguiente código PHP:

a) Una función (tipo procedimiento, no hay valor devuelto) denominada escribirNumerosMod que reciba dos parámetros: un array de valores enteros y una cadena de texto que puede ser "sobreescribir" ó "ampliar". La función debe proceder a: escribir cada uno de los números que forman el contenido del array en una línea de un archivo datosEjercicio.txt usando el modo de operación que se indique con el otro parámetro. Si el archivo no existe, debe crearlo.

Ejemplo: El array que se pasa es $numeros = array(5, 9, 3, 22); y la invocación que se utiliza es escribirNumerosMod($numeros, "sobreescribir"); En este caso, se debe eliminar el contenido que existiera previamente en el archivo y escribir en él 4 líneas, cada una de las cuales contendrá los números 5, 9, 3 y 22.

b) Una función (tipo procedimiento, no hay valor devuelto) denominada leerContenidoFichero que reciba como parámetro la ruta del fichero y muestre por pantalla el contenido de cada una de las líneas del fichero.

c) Crea código php donde a través de la función escribirNumerosMod escribas en el fichero los números 2, 8, 14. Luego, mediante la función leerContenidoFichero muestra el contenido del fichero. Ahora con la función escribirNumerosMod amplía el contenido del fichero y añádele los números 33, 11 y 16. Muestra nuevamente el contenido del fichero por pantalla. Finalmente, escribe el fichero pasándole un array con los número 4, 99, 12 y parámetro <<sobreescribir>> para eliminar los datos que existieran previamente. Muestra el contenido del fichero por pantalla y un mensaje de despedida.

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
</head>
<body>
<?php
function escribirNumerosMod($numeros ,$valor)
{
if (strcmp($valor"sobreescribir") == 0) {
$fp fopen("crearArchivo.txt""w");
for ($i=0$i count($numeros); $i++) { 
fwrite($fp$numeros[$i] . PHP_EOL);
}
fclose($fp);
echo "Se ha sobreescribido correctamente.<br/>";

}else if (strcmp($valor"ampliar") == 0) {
$fp fopen("crearArchivo.txt""a");
for ($i=0$i count($numeros); $i++) { 
fwrite($fp$numeros[$i] . PHP_EOL);
}
fclose($fp);
echo "Se ha ampliado correctamente.<br/>";
}else{
echo "Ha escrito un valor que no es correcto.<br/>";
}
}

function leerContenidoFichero($ruta)
{
$fp fopen($ruta"r");
while (!feof($fp)) {
$resul fgets($fp);
echo $resul "<br/>";
}
}

escribirNumerosMod(array(2814), "sobreescribir");
echo "<br/> CONTENIDO DEL FICHERO: <br/>";
leerContenidoFichero("crearArchivo.txt");

echo "<br/><br/>";

escribirNumerosMod(array(331116), "ampliar");
echo "<br/> CONTENIDO DEL FICHERO: <br/>";
leerContenidoFichero("crearArchivo.txt");

echo "<br/><br/>";

escribirNumerosMod(array(49912), "sobreescribir");
echo "<br/> CONTENIDO DEL FICHERO: <br/>";
leerContenidoFichero("crearArchivo.txt");

echo "<br/><br/>";
echo "Esto fue todo amigos. ¡Hasta pronto!";
?>

</body>
</html>
« Última modificación: 28 de Junio 2015, 11:34 por César Krall »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2659
    • Ver Perfil
Hola Cabanota, ejercicio perfecto  ;). ...en lugar de "Se ha sobreescribido"  :( yo pondría "Se ha sobreescrito" ;)

Salu2

Cabanota

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 26
    • Ver Perfil
jajajaaj cierto que si... que falla.. que tal la logica men? Mira bien el codigo y dime si hay una manera de hacer el codigo mas breve. Si es un si, dime: si y asi pienso un rato a ver si puedo jaja XD. Gracias

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2659
    • Ver Perfil
Hola, la lógica la veo bien, el código está bien breve.

Salu2

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".