スクリプトの一部を作成しましたが、行き詰まりました: このコードは、日付ピッカーから日付を選択すると実行されます。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";
正常に動作します i get new 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に日付を静的に入れ、コマンドラインから実行すると、問題が発生する可能性があります。おそらく、このグローバル変数です(私はそれらを理解していません)。私を助けてください :-)