我已经制作了脚本的一部分,但我被卡住了:当我从日期选择器中选择日期时,此代码运行。我需要使用 date-picker mm dd yyyy 中的日期参数运行 file.exp。我有一个文件report.php,在那里:
<?
if (isset($_GET['debug'])) { define('DEBUG', true); }
if (isset($_GET['debug_url'])) { define('DEBUG_URL', true); }
if (defined('DEBUG')) header("Content-type: text/plain");
include "lib.php";
$date_to = $date_from = 0;
if (isset($_GET['date-from'])) { $date_from = $_GET['date-from']; }
if (isset($_POST['date-from'])) { $date_from = $_POST['date-from']; }
$date = make_date($date_from) ;
echo "$date_from";
if (preg_match('#^(\d{2})/(\d{2})/(\d{4})$#', $date_from, $matches)) {
$month = $matches[1];
$day = $matches[2];
$year = $matches[3];
} else {
echo 'invalid format';
}
echo "new day: $day";
它工作正常,我得到了新的一天......但它不适用于这个命令。
$s_command = '/full_path/file.exp --day'.$day.'--month'.$month.'--year'.$year.'$
echo "$s_command \n";
exec($s_command, $output);
?>
在 file.exp 我有:
#!/usr/bin/expect -f
foreach {option value} $argv {
switch -glob -- $option {
--day {set day $value}
--month {set month $value}
--year {set year $value}
default { error "Unknown option $option!"
exit 0 }
}
}
这是其余的代码,我们来命令:
expect "week ending" { send "$month-$day-$year\r" }
我不得不提一下,使用这个 file.exp 我尝试将日期 mm dd yyyy 发送到 telnet 或 tty 上的接口。而且,如果我在这个 file.exp 中将日期放在静态上并从命令行运行它,它就可以工作。也许问题是这个全局变量(我不明白它们)。请帮我 :-)