Foros del Web » Programando para Internet » PHP »

crear fichero en php

Estas en el tema de crear fichero en php en el foro de PHP en Foros del Web. Buenas, Estoy intentando crear ficheros con php y es un poco raro lo que pasa, a ver si encuentran una explicacion. El fichero lo creo ...
  #1 (permalink)  
Antiguo 01/03/2009, 14:23
 
Fecha de Ingreso: febrero-2009
Mensajes: 45
Antigüedad: 15 años, 3 meses
Puntos: 0
crear fichero en php

Buenas,

Estoy intentando crear ficheros con php y es un poco raro lo que pasa, a ver si encuentran una explicacion. El fichero lo creo con las siguientes lineas:

Código PHP:
$fichero fopen($nombre,"w+");   
fputs($fichero,$dump);
fclose($fichero);
mail($mail$asunto,$cuerpo,$encabezados); 
La cuestion viene que si ejecuto el archivo todo funciona correctamente, crea el fichero, escribe sus lineas y manda el mail.

El fallo viene que lo que quiero es que se ejecute cada X horas con un cron, lo configuro y ahora me manda el mail bien pero no crea el fichero y si lo abro manualmente por url sigue funcionando ok, porque puede ser???

El comando del cron es:
php /ruta/copia_BBDD.php

Para la prueba hago que lo ejecute cada dos minutos y el mail va bien pero no crea los ficheros....

espero que puedan ayudarme.
  #2 (permalink)  
Antiguo 01/03/2009, 14:29
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: crear fichero en php

sucede que CRON ejecuta la version CLI (Command Line Interface) de PHP, osea...

el script que programaste solo sirve para CGI (Common Gateway Interface) y eso sucede solo a través de un servidor Web o similares...

debes escribir tu código pensando en que estas corriendo en la consola, por ende, las variables GPCS (GET/POST/COOKIE/SERVER) no existen... así como varias cosas mas, no son como lo esperabas...

supongo es por eso, no mas... suerte!


PDTA: no olvides leer en el manual de PHP al respecto
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 01/03/2009, 14:54
 
Fecha de Ingreso: febrero-2009
Mensajes: 45
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: crear fichero en php

Gracias pateketrueke por la pronta respuesta,

Por lo que me comentas ya me pierdo un poco es decir,

Si yo en el navegador pongo: http://www.dominio.com/prueba_cron.php
y configuro un cron que llame al mismo archivo.

En caso de ejecutar el cron solo sirve como CGI. En tema de CGI no tengo ni idea, lo que realizo o quiero hacer en el script es que cuando ejecute esa pagina se cree un fichero.txt con copia de seguridad de la bbdd pero el fichero no lo crea.

Como podria crear ese fichero con CGI???
  #4 (permalink)  
Antiguo 01/03/2009, 16:01
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: crear fichero en php

al revés, cuando ejecutas un .php desde una aplicación Web se ejecuta bajo la versión cgi de PHP ....

cuando lo haces por cron, se usa la versión cli...

de modo, que debes leer en el manual de PHP las diferencias entre ambos entornos

básicamente, esto debe funcionar en ambas maneras..
Código PHP:
$tmp fopen('foo.txt');
fwrite($tmp'candyBAR');
fclose($tmp); 
solo eso, lee bien que es lo pasa entre CLI/CGI

suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
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 05:55.