TRABAJO PRÁCTICO Nº 9: MANEJO DE DIRECTORIOS
En este trabajo práctico tampoco generaremos ningún cambio en la información mostrada por pantalla :
-------------------------------------------------------------------------------------------------------------
CARRO - Pasión por su casa
Clientes del mes de Marzo
1 - Diaz Pedro
Haedo
2 - Fernandez Martín
Cap. Federal
Pero debe 2 cuotas
El mejor cliente es Diaz, Pedro y gasto $1.220,00
Resumen hecho el 02 de marzo de 2007
-----------------------------------------------------------------------------------------------------------------------
En su lugar, cambiaremos el lugar en donde guardaremos el archivo “clientes.txt”. Lo que se pide es lo siguiente:
1) A partir de ahora, en la función “crearArchivos” utilizaremos el modificador “a” para abrir el archivo “clientes.txt”. El problema que surge ahora, es que vamos a tener que eliminar el contenido anterior de dicho archivo.
2) Para eliminar la información anterior del archivo “clientes.txt” deberá generar una función con las siguientes características. Recibirá como parámetro el nombre del directorio en donde almacenaremos a partir de ahora el archivo “clientes.txt”. Dicho directorio será “datos” y la función recibirá el nombre “prepararDirectorio”. Por fines didácticos complicaremos un poco los requisitos para esta función. La primera operación será la de verificar si dicho directorio existe, de no ser así, deberá crearlo. En el caso que exista, primero deberá vaciarlo borrando uno por uno los archivos dentro del mismo. Para terminar, deberá eliminar dicho directorio y volver a crearlo.
3) Por último deberá agregar una llamada a nuestra nueva función y deberá corregir el path que figuran en las funciones “crearArchivos” y “cargarDatos”. No olvide que ahora el archivo “clientes.txt” se encuentra en otro directorio.
este es el código del practico anterior :
<html>
<head>
<title>CARRO – Pasión por su casa</title>
<style type="text/css">
<!--
.Estilo1 {
color: #FF0000;
font-weight: bold;
}
-->
</style>
</head>
<body>
<div align="center">
<h1><font color="#0000FF">CARRO</font> - Pasión por su casa </h1>
<p> </p>
</div>
<?php
function mes($numero){
$meses = array(
1 => "Enero",
2 => "Febrero",
3 => "Marzo",
4 => "Abril",
5 => "Mayo",
6 => "Junio",
7 => "Julio",
8 => "Agosto",
9 => "Septiembre",
10 => "Octubre",
11 => "Noviembre",
12 => "Diciembre");
return $meses[$numero];
}
function cadenafecha($fechaActual){ // ABRO FUNCION
/*SEPARO LAS PARTES DE LA FECHA Y LAS ALMACENO EN EL ARRAY $fecha */
$fecha = split("/", $fechaActual);
/* CONVIERTO EL MES EN UN ENTERO */
$mesActual = (intval($fecha[1]));
/*PASO EL MES A MINUSCULA POR MEDIO DE LA FUNCION mes */
$mesActual = strtolower(mes($mesActual));
return "{$fecha[0]} de $mesActual de {$fecha[2]}";
} // CIERRO FUNCION
function cli($clientes, $gastos, $clieimp, $cantcuo){
static $x = 0;
/* FOR SERVIRA PARA RECORRER EL VECTOR $gastos*/
for($i=0;$i<sizeof($gastos);$i++){ // ABRO for
if ($gastos[$i] > 1000){ // ABRO if
$deudor = $clientes[$i]["Apellido"];
$x++; // OPERADOR DE INCREMENTO QUE SERVIRA PARA RECORRER EL VECTOR $clientes
echo ("\n<br><br>$x - {$clientes[$i][Apellido]} {$clientes[$i][Nombre]} <br> {$clientes[$i][Localidad]} <br>");
if (in_array($deudor, $clieimp)!=false){
echo "<span class=\"Estilo1\">Pero debe {$cantcuo[$i]} cuotas </span>";
} //CIERRO if2
} // CIERRO if
} // CIERRO for
} // CIERRO FUNCION cli
function formatCliente($indCliente){
global $clientes;
//PASO A MAYUSCULA LA PRIMERA LETRA CON ucfirst
$clientes[$indCliente]["Apellido"]=ucfirst($clientes[$indCliente]["Apellido"]);
$clientes[$indCliente]["Nombre"]=ucfirst($clientes[$indCliente]["Nombre"]);
//Utilizo ucwords porque puede haber más de una palabra.
$clientes[$indCliente]["Localidad"]=ucwords($clientes[$indCliente]["Localidad"]);
}
function crearArchivos(){
$archivo = fopen("Clientes.txt", w);
$cliente = "Pereyra,juan,cap. federal,4526-9865,126,3\n";
fwrite($archivo, $cliente, strlen($cliente));
$cliente = "Diaz,pedro,haedo,3356-5899,1220,\n";
fwrite($archivo, $cliente, strlen($cliente));
$cliente = "Fernandez,martín,cap. federal,4525-5666,1178,2\n";
fwrite($archivo, $cliente, strlen($cliente));
fclose($archivo);
}
function cargarDatos(){
global $clientes, $gastos, $clieimp, $cantcuo;
$archivo = fopen("Clientes.txt", r);
$i=0;
while(($linea = fgets($archivo, 4096))!=null){
list($clientes[$i]["Apellido"],$clientes[$i]["Nombre"],
$clientes[$i]["Localidad"],$clientes[$i]["Tel"],
$gastos[$i],$ccuotas) = split(",", $linea);
if($ccuotas>0){
$cantcuo[$i]=$ccuotas;
$clieimp[$i]=$clientes[$i]["Apellido"];
}
$i++;
}
fclose($archivo);
}
crearArchivos();
cargarDatos();
/*CON LA FUNCION formatCliente PASO A MAYUSCULA LA PRIMERA
LETRA DE CADA PALABRA */
for($indice=0; $indice<count($clientes); $indice++)
formatCliente($indice);
/*MUESTRA CONSTANTE CLIENTES DEL MES DE */
define("CLIENTE","Clientes del mes de ");
echo CLIENTE;
/* MUESTRA MARZO */
$numero = 3;
echo mes($numero);
/* FUNCION QUE MUESTRA $gastos y $clientes */
$var="cli";
$var($clientes, $gastos, $clieimp, $cantcuo);
/* GASTO DEL MEJOR CLIENTE */
define("CLIENTE2","El mejor cliente es ");
asort($gastos);
end($gastos);
echo "<br><br>". CLIENTE2 . $clientes[key($gastos)]["Apellido"] . ", ";
echo "{$clientes[key($gastos)]["Nombre"]} y gasto $" . number_format(current($gastos), 2, ",", ".");
$fechaActual = "02/03/2007";
echo "<hr> <div align=\"center\">Resumen hecho el " . cadenafecha($fechaActual) . " </div>";
?>
</body>
</html>
BUENO MUCHAS GRACIAS, SALUDOS!