Sí, puede hacerlo así, pero debe hacer referencia a los argumentos de la matriz $_SERVER['argv']
. $_SERVER['argc']
le dirá la cantidad de args recibidos, si desea utilizarlo como una primera capa de validación para asegurarse de que se ingresó un número requerido de args.
Para ilustrar esto, se ejecuta la siguiente secuencia de comandos como args.php arg1 arg2 arg3
: salida
#!/usr/bin/php
<?php
var_dump($argv);
?>
voluntad:
array(4) {
[0]=>
string(8) "args.php"
[1]=>
string(4) "arg1"
[2]=>
string(4) "arg2"
[3]=>
string(4) "arg3"
}
Aquí está un ejemplo práctico:
En este ejemplo, vamos a crear un script (days.php) que genera el número de días desde una fecha determinada. Aceptará 3 parámetros, el mes, el día y el año como números.
#!/usr/bin/php
<?php
if($argc < 4 || !is_numeric($argv[1]) || !is_numeric($argv[2]) || !is_numeric($argv[3]))
{
echo "Usage: $argv[0] mm dd yyyy\n";
}
else
{
$pastdate = mktime(0, 0, 0, $argv[1], $argv[2], $argv[3]);
$diff = time() - $pastdate;
$days = round($diff/60/60/24);
echo "$days days since $argv[1]/$argv[2]/$argv[3]\n";
}
?>
Shell llamada:
`$ ./days 11 17 1988` OR `php days.php 11 17 1988`
Salida:
7699 days since 11/17/1988
Espero que esto ayude.
¡El enlace del tutorial "Acceso a PHP a través de SHELL" redirige a un sitio de spam! – Avi