0

我已经制作了脚本的一部分,但我被卡住了:当我从日期选择器中选择日期时,此代码运行。我需要使用 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 中将日期放在静态上并从命令行运行它,它就可以工作。也许问题是这个全局变量(我不明白它们)。请帮我 :-)

4

0 回答 0