SoloCodigo

Programación Web y Scripting => PHP => Mensaje iniciado por: breadpett en Lunes 1 de Noviembre de 2010, 03:47

Título: Crear archivo dentro de directorio
Publicado por: breadpett en Lunes 1 de Noviembre de 2010, 03:47
Hola, quisiera que me ayuden con el siguiente problema:

Tengo que crear un  archivo "Clientes.txt" dentro de un directorio llamado "datos"
por medio de una función. Para esto verificar si
el directorio existe, de no ser asi crearlo.
Si ya existe: borrar todos los archivos
que se encuentran dentro del mismo, borrar el directorio
y volver a crearlo con el archivo "Clientes.txt" adentro.

En definitiva tengo que crear el archivo "Clientes.txt" dentro del directorio "datos",
y cada vez que actualizo la pagina tiene que borrar todo y volver a crearlo.
Bueno, tengo que trabajar a partir del siguiente codigo donde ya se encuentra hecho el archivo "Clientes.txt":

<html>
<head>
<title> pruebastr2
</title>
</head>

<body>

<?php
         


/******************************************************************************/
 function mes($n)
{
        $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");
     
     //echo "<br>";
     return $meses[$n];

     
}
/*****************************************************************************/

function cadenafecha($fechaActual)
{
$fecha = split("/", $fechaActual);

$mesActual = (intval($fecha[1])); // 0 = dia , 1 = mes, 2 = año

$mesActual = strtolower(mes($mesActual));

return "{$fecha[0]} de $mesActual de {$fecha[2]}";

}


/*************************************************************************/
function cli($clientes, $gastos, $clieimp, $cantcuo)
    {    
        static $a = 0;
        for($i = 0; $i < sizeof($gastos); $i++)
        {
             if ($gastos[$i] > 1000)
               {
                  $apelldeudor = $clientes[$i]["Apellido"];
                  $a++;
echo ("n<br>$a - {$clientes[$i][Apellido]} {$clientes[$i][Nombre]}<br>{$clientes[$i][Localidad]}<br>");
                 
                   if(in_array($apelldeudor, $clieimp)!=false)
                    {
              echo "<font color = red><b><BR>Pero debe{$cantcuo[$i]} cuotas</b> </font><BR>";
                   }
               }
            }                                
        }
 

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

function formatCliente($indCliente)
{
 global $clientes;
//PASO A MAYUS CON UCFIRST
$clientes[$indCliente]["Apellido"]=ucfirst($clientes[$indCliente]["Apellido"]);
$clientes[$indCliente]["Nombre"]  =ucfirst($clientes[$indCliente]["Nombre"]);

//PASO CON UCWORDS LOCALIDAD
$clientes[$indCliente]["Localidad"]= ucwords($clientes[$indCliente]["Localidad"]);
   
}

/***************************************************************************/
//      ARCHIVO "Clientes.txt":

function crearArchivos()
{
$archivo = fopen("Clientes.txt",w);

$cliente = "Pereyra,juan,cap. federal,4526-9865,126,3n";
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,2n";
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"], $clinetes[$i]["Tel"],
      $gastos[$i], $ccuotas) = split(",", $linea);


     if($ccuotas > 0){
          $cantcuo[$i] = $ccuotas;
          $clieimp[$i]= $clientes[$i]["Apellido"];
          }
          $i++;
     }
     fclose($archivo);
}

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

crearArchivos();
cargarDatos();

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

for( $indice = 0; $indice < count($clientes); $indice++)

  {
     formatCliente($indice);
  }


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

define("RAUL", "Clientes del mes de ");
   echo RAUL;
$n = 3;
echo ucfirst(mes($n));
echo "<br>";

/************************************************************/
   
$cli2 = "cli";              //EJECUTA LA FUNCION cli CON LOS ARRAYS $gastos
$cli2($clientes,$gastos,$clieimp, $cantcuo);   //  y $clientes FUERA DE LA FUNCION cli

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

/******EL GASTO DEL MEJOR CLIENTE *****************/
define("MEJOR", "El mejor cliente es ");
asort($gastos);
end($gastos); //SE POSICIONA EN EL ULTIMO ELEMENTO DEL ARRAY $gastos

echo "<br>".(strtoupper(MEJOR)) . $clientes[key($gastos)]["Apellido"] . ", ";
echo "{$clientes[key($gastos)]["Nombre"]} y gastó $" . number_format(current($gastos), 2, ",", ".");
//current — Devuelve el elemento actual en un array

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

echo "<hr>";

$fechaActual = "02/07/2009";
//echo "<br>";
echo "<center>";
echo "Resumen hecho el ";
echo cadenafecha($fechaActual);
     
?>

</body>
</html>

Bueno si pueden ayudarme se los voy a agradecer, gracias y saludos!
Título: Re: Crear archivo dentro de directorio
Publicado por: LeGatoRojo en Lunes 1 de Noviembre de 2010, 20:19
con file_exists puedes saber si algo existe o no, y bueno por lo demas puedes conectarte via ftp(hay codigo php que hace eso) y ejecutar un shell para borrar, algo asi como rm -Rf *.txt dependiedo de que SO tenga tu server
Título: Re: Crear archivo dentro de directorio
Publicado por: breadpett en Lunes 8 de Noviembre de 2010, 01:20
Bueno muchas gracias lo voy a probar, un abrazo!