大家好,
我在IIS服务器上有一个script.php,我希望每x分钟自动调用一次该脚本。问题是我需要像在浏览器(script.php?task = aaa)中那样将参数传递给脚本。计划任务似乎忽略了参数?task = aaa ...
如何运行此脚本传递一些“GET”参数?
谢谢, →
答案 0 :(得分:6)
我在Windows 2003服务器上有两次这样的cron作业。我使用我可以工作的URL来编写iexplorer的一个schelude任务。
例如:
“C:\ ProgramFiles \ Internet Explorer \ iexplore.exe”http://mydomain.com/admin/index.php?action=central_alertas.php&act=1
答案 1 :(得分:4)
您可以通过调用参数将参数传递到文件中:
C:\PHP5\php.exe -f "C:\PHP Scripts\script.php" -- -arg1 -arg2 -arg3
然后你可以用这个函数解析argv:
function arguments($args ) {
$ret = array(
'exec' => '',
'options' => array(),
'flags' => array(),
'arguments' => array(),
);
$ret['exec'] = array_shift( $args );
while (($arg = array_shift($args)) != NULL) {
// Is it a option? (prefixed with --)
if ( substr($arg, 0, 2) === '--' ) {
$option = substr($arg, 2);
// is it the syntax '--option=argument'?
if (strpos($option,'=') !== FALSE)
array_push( $ret['options'], explode('=', $option, 2) );
else
array_push( $ret['options'], $option );
continue;
}
// Is it a flag or a serial of flags? (prefixed with -)
if ( substr( $arg, 0, 1 ) === '-' ) {
for ($i = 1; isset($arg[$i]) ; $i++)
$ret['flags'][] = $arg[$i];
continue;
}
// finally, it is not option, nor flag
$ret['arguments'][] = $arg;
continue;
}
return $ret;
}//function arguments
答案 2 :(得分:3)
我建议下载cURL for Windows,因为它可以为您的服务器发送页面请求。然后,您可以使用Windows Task Scheduler执行curl script.php?task=aaa
。