Foros del Web » Programando para Internet » PHP »

php + lineas de comando + argumentos

Estas en el tema de php + lineas de comando + argumentos en el foro de PHP en Foros del Web. buenas estuve leyendo sobre como utilizar php atravez de lineas de comando y mi problema es con los argumentos en donde las paginas que tengo ...
  #1 (permalink)  
Antiguo 07/05/2008, 02:59
 
Fecha de Ingreso: abril-2005
Mensajes: 351
Antigüedad: 19 años
Puntos: 3
php + lineas de comando + argumentos

buenas estuve leyendo sobre como utilizar php atravez de lineas de comando y mi problema es con los argumentos en donde las paginas que tengo echas utilizan $_GET

php -f C:\AppServ\www\index.php -- nombre=juan apellido=perez

pero cuando utilizo $_GET['nombre'] no me funciona

estuve mirando http://ar.php.net/features.commandline y no encontré o no entendí como hacerlo.

lo único que encontre fue esto

Código PHP:
<?php
if($argc <= 1)
return 
false;

$commands array_slice($argv1);

print_r($commands); // muestra el contenido de cada parte del array
?>
pero esto no me serviría porque no es la forma en que se obtienen normalmente los argumentos, creo que todos utilizan $_GET no? además así hice todas mis paginas

Alguna ayuda?
  #2 (permalink)  
Antiguo 07/05/2008, 09:30
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
Re: php + lineas de comando + argumentos

Hola LeandroA,

Si vas a invocar tu PHP desde la linea de comandos, es forzoso que uses $argv.

Saludos.
  #3 (permalink)  
Antiguo 08/05/2008, 00:43
 
Fecha de Ingreso: abril-2005
Mensajes: 351
Antigüedad: 19 años
Puntos: 3
Re: php + lineas de comando + argumentos

hola, solucionado, tenia que usar php-cgi.exe

php-cgi.exe C:\AppServ\www\index.php nombre=juan apellido=perez

bueno lo del metodo $_get ya esta ahora no se
como podria hacer con $_POST

alguien sabe cuando mandamos un formulario en que lugar guarda temporalmente apache estos datos?

o como trabaja para llamar a php y enviarle estos datos?

Saludos
  #4 (permalink)  
Antiguo 08/05/2008, 09:30
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
Re: php + lineas de comando + argumentos

Hola LeandroA,

Cuando tu haces una petición POST, los datos viajan en las cabeceras del documento, por ejemplo te dejo un ejemplo de una petición POST común:
Código:
POST /path/script.php HTTP/1.0
User-Agent: HTTPTool/1.0
Content-Type: application/x-www-form-urlencoded
Content-Length: 32

home=Cosby&favorite+flavor=flies
PHP al ver el request POST, busca en el body del Request y encuentra las variables POST, y las procesa y se las pasa a tu script en forma de $_POST.

Te recomiendo leas esto: http://www.jmarshall.com/easy/http/

Saludos.
  #5 (permalink)  
Antiguo 08/05/2008, 18:21
 
Fecha de Ingreso: abril-2005
Mensajes: 351
Antigüedad: 19 años
Puntos: 3
Re: php + lineas de comando + argumentos

hola GatorV gracias por responder, aver si me puedo explicar mejor, el protocolo http lo consoco bien, yo lo que estoy haciendo es un sever en visual basic (algo asi como el apache (pero horriblemente inferior))
ahora lo que no se bien es como integrar php a mi sever, en una peticion GET ya estaria solucionado porque digamos que llamo a la consola por lineas de comando de php-cgi.exe con los parametros que obtengo del get y bueno esta me debuelve toda el script php procesado. y lo envio al cliente.

ahora bien cuando un cliente me envia un metodo post por ejemplo

Código:
POST /index.php HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */*
Accept-Language: es
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
Host: localhost
Content-Length: 17
Connection: Keep-Alive
Cache-Control: no-cache

Boton1=Enviar&CuadroTexto=hola
no se como llamar a php-cgi.exe con la pagina index.php y decirle que la data post es esta que tengo aqui

estube revisando la ayuda de php-cgi.exe y me devuelve estos datos prove con casi todos y nada, aver si ustedes que estan mas experimentados en php me pueden ayudar.


Código:
Usage: php [-q] [-h] [-s] [-v] [-i] [-f <file>]
php <file> [args...]
-a Run interactively
-b <addressort>|<port> Bind Path for external FASTCGI Server mode
-C Do not chdir to the script's directory
-c <path>|<file> Look for php.ini file in this directory
-n No php.ini file will be used
-d foo[=bar] Define INI entry foo with value 'bar'
-e Generate extended information for debugger/profiler
-f <file> Parse <file>. Implies `-q'
-h This help
-i PHP information
-l Syntax check only (lint)
-m Show compiled in modules
-q Quiet-mode. Suppress HTTP Header output.
-s Display colour syntax highlighted source.
-v Version number
-w Display source with stripped comments and whitespace.
-z <file> Load Zend extension <file>.
Saludos
  #6 (permalink)  
Antiguo 08/05/2008, 21:11
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
Re: php + lineas de comando + argumentos

Lo que quieres hacer, no es la forma correcta de hacerlo, es mejor que le hagas una interface mas al SAPI de PHP, te recomiendo esta lectura: http://www.trickie.org/code/zend_engine_two/

Saludos.
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 06:21.