Digs up some old code...
PHP Code:
/**
* will inject unix command line arguments into the $_REQUEST superglobal
*
* assumes the variables are in the form xxx=yyy
* any argument without an = will be ignored
* @param boolean $pbGet optional, suppress injection into $_GET as well
* @return void
*/
function simulate_request_from_argv($pbGet=true)
{
if (array_key_exists('_', $_SERVER)) { //indicate run in unix command line mode
// you might want to explicitly check the sapi instead
// insert script name
$a_argv = $_SERVER['argv'];
if (!array_key_exists('SCRIPT_FILENAME', $_SERVER)) {
$_SERVER['SCRIPT_FILENAME'] = $a_argv[0];
}
array_shift($a_argv);
// insert arguments into superglobals
foreach($a_argv as $s_arg) {
if (preg_match('/\w+=\w*/', $s_arg)) {
list($s_key, $s_val) = explode('=',$s_arg);
if ($pbGet) {
$_GET[$s_key] = $s_val;
}
$_REQUEST[$s_key] = $s_val;
}
}
}
}
Bookmarks