php (現在の主流の開発言語として) が非常に優れた動的 Web 開発言語 (高速、短い開発サイクル...) であることは誰もが知っています。しかし、php(現在の主流の開発言語として)がシェルスクリプトを書くための優れた言語としても使用できることを認識している人はほんのわずかです。言語としては、PerlやBashほど強力ではありませんが、優れた利点があります。特に、php(現在の主流の開発言語として)には精通しているが、Perlにはあまり精通していない私のような人にとって、これは利点です。 php
(現在の主流の開発言語として)
をシェルスクリプト言語として使用するには、php(現在の主流の開発言語として)をバイナリCGIとして使用する必要があります(今はあまり使っている人は多くありません) Apache ではなくコンパイル (Unix プラットフォームで最も人気のある WEB サーバー プラットフォーム) モード、バイナリ CGI にコンパイルする (今はあまり使用していない) php を実行するモード (現在の主流の開発言語として) いくつかのセキュリティがあります解決策については、php(現在の主流の開発言語として)マニュアル (http://www.php(現在の主流の開発言語として).net)を参照してください。 最初はシェルスクリプトを書くのに不快に感じるかもしれませんが、徐々に上達します: php
(現在の主流の開発言語として)
を一般的な動的Webページ記述言語として、そして唯一のシェルスクリプト言語として使用してください。違いは次のとおりです。シェル スクリプトは、最初の行でスクリプトのプログラム パスを説明する必要があります: この php
(現在の主流の開発言語として)
実行ファイルの後にパラメータ "-1" を追加しました。現在主流の開発言語) は HTTPHeader を出力しません (それでも Web 上の動的な Web ページとして使用する必要がある場合は、ヘッダー関数を使用して自分で HTTPHeader を出力する必要があります)。もちろん、シェル スクリプトでは、php(現在の主流の開発言語として)の開始タグと終了タグを使用する必要があります: (現在の主流の開発言語として)
Code?>
ここで、シェル スクリプト言語としての php (現在の主流の開発言語として) の使用をよりよく理解するための例を見てみましょう: (現在の主流の開発言語として) print("Hello , world!n"); ?> 上記のプログラムは単純に「Hello, world!」をディスプレイに出力します。
1. シェルスクリプトの実行パラメータをphp
(現在の主流の開発言語として)に渡す
: シェルスクリプトとして、プログラムを実行するときにパラメータを追加することがよくあります、php(現在の主流の開発言語として) ) 言語)シェルスクリプトとして、埋め込み配列「$argv」があり、「$argv」配列を使用するとシェルスクリプト実行時にパラメータを簡単に読み込むことができます(「$argv[1]」が最初のパラメータに相当します)。 、「$argv[2]」は 2 番目のパラメータに対応し、以下同様です)。たとえば、次のプログラム: #!/usr/local/bin/php
(現在の主流の開発言語として) -q (現在の主流の開発言語として)
$first_name = $argv [1]; $last_name = $argv[2]; printf("こんにちは、%s %s! 今日はどうですか?n", $first_name, $last_name); 上記のコードが実行されています。 2 つのパラメータ、つまり姓と名が必要です。 たとえば、次のように実行します:
[dbrogdon@artemis dbrogdon]$ scriptname.ph Darrell Brogdon
シェル スクリプトがディスプレイに出力します:
こんにちは、Darrell Brogdon!今日はいますか?
[dbrogdon@artemis dbrogdon]$
(現在の主流の開発言語としての)php
には、動的Webページ記述言語として「$argv」配列も含まれていますが、それとはいくつかの違いがあります。ここに: php
(現在の主流の開発言語として)
シェルスクリプト言語として使用する場合は、「$argv[0]」がスクリプトのファイル名に対応し、動的Webページの書き込みに使用される場合は、「$argv」が対応します[1]" は QueryString の最初のパラメータに対応します。
二番目に、インタラクティブなシェルスクリプトを書きます: シェルスクリプトが単独で実行されるだけでインタラクティブ性を失ってしまったら、意味がありません。php(現在主流の開発言語として)を使用してシェルスクリプトを作成する場合、ユーザーが入力した情報をどのように読み取るのでしょうか?残念ながら、php(現在の主流の開発言語として)自体にはユーザー入力情報を読み取る関数やメソッドがありませんが、他の言語の例に従って、ユーザー入力情報を読み取る関数 "read" を書くことができます。 php(現在の主流の開発言語として)
function read() {
$fp = fopen(/dev/stdin, r)
fgets($fp, 255); fp) ;
return $input;
}
?>
上記の関数は Unix システムでのみ使用できることに注意してください (他のシステムでは対応する変更を行う必要があります)。上記の関数は、ファイル ポインターを開き、次に 255 バイト以下の行を読み取り (これが fgets の動作です)、その後ファイル ポインターを閉じて、読み取った情報を返します。
ここで、関数「read」を使用して、以前に作成したプログラム 1 を変更して、より「インタラクティブ」にすることができます: (現在の主流の開発言語として) function read() {
$fp = fopen(/dev/stdin, r);
$input = fgets($fp)
return $input;
「あなたの名前は何ですか?」 $first_name = read();
print("あなたの姓は何ですか?");
http://www.bkjia.com/PHPjc/509136.html
www.bkjia.com
true