Comunidad de diseño web y desarrollo en internet online

AYUDA CON TRABAJO PRACTICO DE PHP

Citar            
MensajeEscrito el 25 Sep 2010 08:39 pm
Hola quisiera que alguien con conocimientos de php me ayude con estas preguntas de un curso q estoy haciendo, si se animan se los voy a agradecer, un abrazo y gracias.



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&oacute;n por su casa </h1>
<p>&nbsp;</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!

Por breadpett

2 de clabLevel



 

msie8
Citar            
MensajeEscrito el 25 Sep 2010 11:28 pm
señor, la tareita es para que usted aprenda, no para que otros se la hagan, no queremos PHPeros mediocres asi que pongase a hacerla

Por tribak

Claber

2448 de clabLevel

6 tutoriales

Genero:Masculino   Héroes

Fotógrafo o algo

firefox
Citar            
MensajeEscrito el 26 Sep 2010 12:51 am
Aja... y exactamente con qué necesitas ayuda?

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 10 Oct 2010 12:11 am
si lo se Tribak y tenes razon, pero igual tengo ganas de aprender y voy a esforzarme aunque me gusta mucho mas lenguaje C# a php, pero tengo q terminar este curso q empece. Lo q tengo q hacer es cambiar el archivo "Clientes.txt" al directorio datos. Bueno estuve haciendo algo pero funciona a medias, o sea me crea el directorio datos y el archivo clientes pero fuera del directorio, les paso el codigo:


<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&oacute;n por su casa </h1>
<p>&nbsp;</p>
</div>

<?php
function mes($numero){ //ABRO FUNC mes
$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];
} //CIERRO FUNC mes

/*********************************************************************************/

function cadenafecha($fechaActual){ // ABRO FUNCION cadenafecha

/*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]));//indice0= dia, indice1=mes, indice2=año

/*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 cadenafecha

/**********************************************************************************/

function cli($clientes, $gastos, $clieimp, $cantcuo){ //ABRO FUNCION cli
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){ //ABRO FUNCION formatCliente
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"]);
} // CIERRO FUNCION formatCliente

/*****************************************************************************************************************************************/

function crearArchivos(){ //ABRO FUNCION crearArchivos

getcwd();//

//

$archivo = fopen("Clientes.txt", a);//

$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);
} //CIERRO FUNCION crearArchivos

/****************************************************************************************************************************************/

function cargarDatos(){ //ABRO FUNCION cargarDatos
global $clientes, $gastos, $clieimp, $cantcuo;

$archivo = fopen("Clientes.txt", r);
$i=0;


while(($linea = fgets($archivo, 4096))!=null){//ABRO while
list($clientes[$i]["Apellido"],$clientes[$i]["Nombre"],
$clientes[$i]["Localidad"],$clientes[$i]["Tel"],
$gastos[$i],$ccuotas) = split(",", $linea);

if($ccuotas>0){ //ABRO if
$cantcuo[$i]=$ccuotas;
$clieimp[$i]=$clientes[$i]["Apellido"];


}//CIERRO if
$i++;


}//CIERRO while
//fclose($archivo);

//$archivo = fopen("Clientes.txt", a);
//$archivo = chdir("c:\\apache\\htdocs\\datos");


} //CIERRO FUNCION cargarDatos


/************************************************************************************************************/

function preparardirectorio($datos)

{

$datos = getcwd() . "\\datos";

if(file_exists(datos))

rmdir($datos);

else

mkdir(getcwd() . "\\datos\\",0);

//$archivo = fopen("Clientes.txt", a);
//$archivo = chdir("c:\\apache\\htdocs\\datos");


}

/*************************************************************************************************************************************/

crearArchivos();


cargarDatos();


preparardirectorio($datos);


/***********************************************************************************************************/

/*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>

un abrazo

Por breadpett

2 de clabLevel



 

msie8

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.