parametros - pasar variables por url php post
¿Cómo paso los parámetros en un script PHP a través de una página web? (2)
Presumiblemente, está pasando los argumentos en la línea de comando de la siguiente manera:
php /path/to/wwwpublic/path/to/script.php arg1 arg2
... y luego acceder a ellos en el script de esta manera:
<?php
// $argv[0] is ''/path/to/wwwpublic/path/to/script.php''
$argument1 = $argv[1];
$argument2 = $argv[2];
?>
Lo que debe hacer al pasar argumentos a través de HTTP (acceder al script en la web) es usar la cadena de consulta y acceder a ellos a través del $ _GET superglobal:
Vaya a http://yourdomain.com/path/to/script.php?argument1=arg1&argument2=arg2
... y acceso:
<?php
$argument1 = $_GET[''argument1''];
$argument2 = $_GET[''argument2''];
?>
Si desea que el script se ejecute independientemente de dónde lo llame (línea de comando o desde el navegador), querrá algo como lo siguiente:
EDITAR: como lo señaló Cthulhu en los comentarios, la forma más directa de probar qué entorno estás ejecutando es usar la constante PHP_SAPI . He actualizado el código en consecuencia:
<?php
if (PHP_SAPI === ''cli'') {
$argument1 = $argv[1];
$argument2 = $argv[2];
}
else {
$argument1 = $_GET[''argument1''];
$argument2 = $_GET[''argument2''];
}
?>
Estoy llamando a un script PHP cada vez que se carga una página web. Sin embargo, hay un parámetro que el script PHP necesita para ejecutarse (que normalmente paso a través de la línea de comando cuando estoy probando el script).
¿Cómo puedo pasar este argumento cada vez que se ejecuta el script cuando se carga la página?
$argv[0]; // the script name
$argv[1]; // the first parameter
$argv[2]; // the second parameter
Si desea ejecutar todo el script independientemente de dónde lo llame desde (línea de comando o desde el navegador), querrá algo como lo siguiente:
<?php
if ($_GET) {
$argument1 = $_GET[''argument1''];
$argument2 = $_GET[''argument2''];
} else {
$argument1 = $argv[1];
$argument2 = $argv[2];
}
?>
Para llamar desde la línea de comando chmod 755 /var/www/webroot/index.php
y usar
/usr/bin/php /var/www/webroot/index.php arg1 arg2
Para llamar desde el navegador, use
http://www.mydomain.com/index.php?argument1=arg1&argument2=arg2