Foros del Web » Programando para Internet » PHP »

Indicar variable $_GET por consola

Estas en el tema de Indicar variable $_GET por consola en el foro de PHP en Foros del Web. Hola de nuevo, estoy teniendo un problema en la llamada a un script PHP, la cuestión es que este script debe ser llamado por consola ...
  #1 (permalink)  
Antiguo 24/03/2010, 07:31
 
Fecha de Ingreso: marzo-2009
Mensajes: 47
Antigüedad: 15 años, 1 mes
Puntos: 0
Indicar variable $_GET por consola

Hola de nuevo, estoy teniendo un problema en la llamada a un script PHP, la cuestión es que este script debe ser llamado por consola usando el binario php, cada cierto tiempo con CRON.
El problema es que este script esta preparado para recibir variables por URL (_GET) del navegador.

¿Cómo hago para pasar esa variable _GET al script mediante la línea de comandos?

La idea es no modificar el script, para que sirva tanto para el navegador como para consola, ¿se podrá?

Gracias!
Un Saludo!
  #2 (permalink)  
Antiguo 24/03/2010, 07:35
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Indicar variable $_GET por consola

Pero ¿qué código es el que tu quieres modificar?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 24/03/2010, 07:53
 
Fecha de Ingreso: marzo-2009
Mensajes: 47
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Indicar variable $_GET por consola

Cita:
Iniciado por abimaelrc Ver Mensaje
Pero ¿qué código es el que tu quieres modificar?
Mmm, creo que no me explique bien... la idea principal es NO modificar el script que voy a llamar con la línea de comandos.

Lo que quiero es llamar al script así:
Código:
$ php script.php
script.php utiliza la variable $_GET, porque fue diseñado para aceptar variables del navegador, lo que no se es como pasarle a script.php las variables que el navegador pasa por la URL: http://example.com/script.php?foo=hola&bar=mundo.

Un Saludo!
  #4 (permalink)  
Antiguo 24/03/2010, 08:07
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Indicar variable $_GET por consola

Bueno la idea la tienes, lo que no sé es como recibes la información cuando ejecutas el cron job, ¿de alguna base de datos? Solo tienes que mencionar la variable en donde debe recibir la información
Cita:
http://example.com/script.php?foo=$variable1&bar=$variable2
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 24/03/2010, 08:39
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Indicar variable $_GET por consola

Lamentablemente no se puede indicar variables GET por consola, tienes que usar $argv, te recomiendo leas esto: http://www.php.net/cli.

Lo que podrías hacer es checar al principio de tu script si se esta ejecutando por consola y hacer una función traductora que transforme de $argv a $_GET.

Saludos.
  #6 (permalink)  
Antiguo 24/03/2010, 09:37
 
Fecha de Ingreso: marzo-2009
Mensajes: 47
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Indicar variable $_GET por consola

Cita:
Lamentablemente no se puede indicar variables GET por consola, tienes que usar $argv, te recomiendo leas esto: http://www.php.net/cli.

Lo que podrías hacer es checar al principio de tu script si se esta ejecutando por consola y hacer una función traductora que transforme de $argv a $_GET.
Ok, no queda mas que modificar el script :(

Gracias por responder!
Un Saludo!

Etiquetas: consola, variables
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 03:26.