Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: pedro,, en 14 de Marzo 2016, 18:13
-
Hola. ;D
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.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo aprenderaprogramar.com</title>
<meta charset="utf-8">
</head>
<body>
<?php
function escribirNumerosMod($numeros, $modo) {
if($modo == 'sobreescriir') {
$modoFinal = 'w';
} else {
$modoFinal = 'a';
}
$archivoTexto = fopen('datosEjercicio.txt', $modoFinal);
for($i=0; $i<count($numeros); $i++){
if($i==(count($numeros)-1)) {
fwrite($archivoTexto, $numeros[$i]);
} else {
if($modoFinal=='a' && $i==0) {
fwrite($archivoTexto, PHP_EOL);
}
fwrite($archivoTexto, $numeros[$i] . PHP_EOL);
}
}
leerContenidoFichero('datosEjercicio.txt');
}
function leerContenidoFichero($archivo) {
$archivoTexto = fopen($archivo, 'r');
$numLinea = 1;
while(!feof($archivoTexto)){
echo 'La linea número ' . $numLinea++ . ' contine el valor: ' . fgets($archivoTexto) . '<br/>';
}
}
$numeros = array(2, 8, 14);
echo ('En esta primera parte sobreescribimos el archivo datosEjercicio.txt si existe, sino lo crearemos, con los siguientes valores:<br/>');
escribirNumerosMod($numeros, 'sobreescriir');
echo('<hr/>');
echo ('En esta parte, añadimos tres valores al final del archivo datosEjercicio.txt<br/>');
$numeros = array(33, 11, 16);
escribirNumerosMod($numeros, 'ampliar');
echo('<hr/>');
echo ('Y en esta última parte sobreescribimos el archivo datosEjercicio.txt con otros valores.<br/>');
$numeros = array(4, 99, 12);
escribirNumerosMod($numeros, 'sobreescriir');
?>
</body>
</html>
Saludos.
-
Hola Pedro, todo muy bien resuelto
Saludos