Foros del Web » Programando para Internet » PHP »

crear fichero *.dat o txt o lo que sea... da lo mismo ;)

Estas en el tema de crear fichero *.dat o txt o lo que sea... da lo mismo ;) en el foro de PHP en Foros del Web. miren... es un simple contador que graba el conteo en un fichero dat, yo recojo el nombre del fichero nuevo que va a crear desde ...
  #1 (permalink)  
Antiguo 05/06/2003, 00:10
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 20 años, 11 meses
Puntos: 2
crear fichero *.dat o txt o lo que sea... da lo mismo ;)

miren... es un simple contador que graba el conteo en un fichero dat, yo recojo el nombre del fichero nuevo que va a crear desde una variable " $row[nombre].dat ", bueno.. mi problema es este...

cuando hace nuevo el fichero me da un error SOLO LA 1 VEZ porq el fichero no exite, como hago para que haga el fichero antes sin que de ese error... y luego que le sume +1



$abrir = fopen("statfile/ $resultados[postname ].dat","r");
$contador = fgets($abrir ,1024);
$contador ++;
fwrite($abrir , $contador );
fclose($abrir );
$escribe = fopen("statfile/ $resultados[postname] .dat ","w");
fwrite($escribe, $contador );
fclose($escribe );

Este es el error

Warning: fopen(statfile/ViceVersa Pro v1.1.dat) [function.fopen]: failed to create stream: No such file or directory in e:\server\Apache2\htdocs\shadow.post\a.php on line 153


GRACIAS A TODOS !!!

una cosa mas... Cluster ahora estas online???... quiero enseñarte algo que he construido a partir de tu Autentificacion....

Última edición por nuevo; 05/06/2003 a las 00:16
  #2 (permalink)  
Antiguo 05/06/2003, 00:43
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Puedes usar la función file_exists() .. para comprobar que tu archivo esté creado antes de intentar abrilo (y con ello la primera vez obtener el error por no estár creado ..)

Código PHP:
<?
$contador
=1// Esto te servirá para iniciar tu contador donde quieras .. 

if (file_exists("$resultados[postname].dat")){
  
$abrir fopen("$resultados[postname].dat","r");
  
$contador fgets($abrir ,1024);
  
$contador ++;
  
fwrite($abrir $contador );
  
fclose($abrir );
}

echo 
"contador= ".$contador;
$escribe fopen("$resultados[postname].dat","w");
fwrite($escribe$contador );
fclose($escribe );
?>
Algunos usan @ delante del fopen() (el primero donde abres el archivo en modo lectura) para eviatar esos mensaje de error (y ahorrarse código) .. Eso no es recomendable pues en los "log" de errores de PHP igual aparecerá el error ... Osese, es "tapar" el error pero no solucionarlo ...

Consejo: Ten cuidado con esos nombres con espacios en el nombre de tu .dat .. No son muy recomendables ..

Cita:
una cosa mas... Cluster ahora estas online???... quiero enseñarte algo que he construido a partir de tu Autentificacion....
Para esas cosas .. usa el MP (Mensajes privados y ya nos contactamos ..)

Un saludo,

-----

Una curiosidad .. ¿para qué creas un archivo con ese "contador" .. si al parecer estás trabajando con Base de datos? .. ¿No sería mejor que crees un campo nuevo a tu tabla esa que guarda tu "nombre" .. ejemplo "contador" y ahí le hagas una consulta tipo: UPDATE .. a ese campo cuando sea necesario actualizar dicho campo para hacer el "contador"?

Por cierto .. te comenté que tienes el boton "PHP" para poner tu código PHP coloreado e identado de forma standard .. Ese coloreado de código que haces .. buff menuda paliza hacerlo "mano" ...

Mas saludos,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 05/06/2003 a las 00:45
  #3 (permalink)  
Antiguo 05/06/2003, 03:50
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 20 años, 11 meses
Puntos: 2
gracias Cluster... como siempre un 10... el contador tipo texto plano lo hago pq acavo de inventarme un contador de descargas... ya estaba inventao.. seguro... pero este lo he hecho yo, y si, ahora que se que funciona lo convertire a BD

gracias otra vez....;)

$contador=1;
if (file_exists("statfile/$row[postname].dat")){
$leer = Fopen("statfile/$row[postname].dat","r");
$filesdown = fgets($leer,1024);
}
$escribe = fopen("statfile/$row[postname].dat","w");
fwrite($escribe, $contador );
fclose($escribe );


ahora cada vez que carga la web me pone los contadores a valor "1" y eso...?

vale ya lo tengo GRACIAS, la historia esq cuando hacia un nuevo registro no creaba directamente el fichero... jeje, ahora cuando hacen un nuevo registro en la BD tb crean ese fichero automaticamente, y le añade 0,jejeje, gracias CLUSTER


y si quiero borrar ese fichero como se hace....?????????
__________________
3w.valenciadjs.com
3w.laislatv.com

Última edición por nuevo; 05/06/2003 a las 03:31
  #4 (permalink)  
Antiguo 05/06/2003, 09:02
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 21 años, 8 meses
Puntos: 8
con unlink()
http://www.php.net/unlink
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 11:22.