PHPページからコマンドラインに変数を渡すにはどうすればよいですか

StackOverflow https://stackoverflow.com/questions/9387525

質問

現在、次の2つのコマンドを使用して、MySQLテーブルから入力されたクライアントステートメントを生成しています。 client_id、date_startの3つの変数があります。 date_end

wget -O mypage.html "http://mypage.php?client_id=var1&date_start=var2&date_end=var3"

wkhtmltopdf-i386 --margin-left 5mm --margin-right 5mm mypage.html mypage.pdf

これは完全に機能し、使用可能なステートメントを作成します。私が今やりたいのは、3ドロップダウンメニューを使用してWebページを実装して、Linuxコマンドラインに直接入力するのではなく、各変数を選択することです。ユーザーはクライアントを選択し、日付の開始と日付の終了を選択し、Webインターフェイスを使用して「レポートを印刷」をクリックします。これにより、変数がコマンドラインに送信され、上に表示されている2つの行が実行されます。

フォームの作成方法を知っていますが、変数をコマンドラインに渡してこれらの2行を実行する方法を理解できません。誰かが助けることができるなら、私はそれが簡単だと思いますか?

どうもありがとう

役に立ちましたか?

解決

//assumes, you have extracted $clientid, $startdate, $enddate from your $_REQUEST and validated them

$command="wget -O mypage.html \"http://mypage.php?client_id=$clientid&date_start=$startdate2&date_end=$enddate\"";
exec($command, $output, $status);
if ($status!=0) die("wget failed");


$command="htmltopdf-i386 --margin-left 5mm --margin-right 5mm mypage.html mypage";
exec($command, $output, $status);
if ($status!=0) die("htmltopdf failed");

落とし穴:使用する必要があります /path/to/wget/path/to/htmltopdf-i386 確かに、あなたの道は大丈夫です

他のヒント

http://php.net/manual/en/function.system.php あなたのニーズへの答えです:)

それはあなたのために出力を取得します(エラーメッセージなどの場合、非常に便利です)

複数のコマンドを実行するには、&& eg:system( "ls && exit");

コマンドラインからそれを実行しようとすると、同じ問題がありますが、それはチャームのように機能しますが、ブラウザを介して実行しようとすると、動作しません。

Test.phpファイルで同じコードをコマンドラインでテストしました。コマンドラインでは、PDFファイルを生成しますが、ブラウザでは生成されません。

あなたは答えられたようにあなたの質問を割り当てました。正しい答えはどこにあるのかわかりません...

たぶんあなたはこの質問で同じ問題を解決しています exec()PHPの長いコマンドの問題

編集3をご覧ください

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top