Foros del Web » Programando para Internet » PHP »

Crear archivo dentro de directorio

Estas en el tema de Crear archivo dentro de directorio en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 01/11/2010, 01:04
 
Fecha de Ingreso: noviembre-2010
Mensajes: 1
Antigüedad: 13 años, 5 meses
Puntos: 0
Crear archivo dentro de directorio

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,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"], $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!
  #2 (permalink)  
Antiguo 01/11/2010, 06:33
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: Crear archivo dentro de directorio

Los pasos que yo haria, en borrador, son:

- checkear pèrmisos de directorio (is_writable)
- chequear preexistencia de archivo txt (file_exists)
- eliminar el txt (unset)
- crearlo

Todo con manejo de errores.

Etiquetas: directorio
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:51.