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";

正常に動作します 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に日付を静的に入れ、コマンドラインから実行すると、問題が発生する可能性があります。おそらく、このグローバル変数です(私はそれらを理解していません)。私を助けてください :-)

4

0 に答える 0