PHP はなぜこれほど人気があるのですか? 最近、PHP (Personal Hypertext Preprocessor) は、その利便性、強力な機能、およびオープンソース機能により、過去 2 年間で最も広く使用されている Web ページ処理言語になったようです。従来の CGI や MicroSoft ASP (Active Server Page) の市場でも、ほぼすべての主要な Web サイトが PHP の知識という基本的な要件を備えた人材を募集しています。
PHP がこれほど人気がある理由は次のとおりです:
PHP は完全に無料であり、自由に配布できるため、多くの人がそれを使用するようになりました。より優れたエンジンと最適化ソフトウェアを開発するために民間企業を誘致しました (http://www.zend.com/ を参照)。
PHP 自体は非常にシンプルで理解しやすく、シンプルなコマンド構文といくつかの基本的なオブジェクト指向処理機能を備えているため、初心者でも最短時間で学習できます。
PHP は、数学的処理、文字列処理、ネットワーク関連機能、各種データベースのサポート、画像処理機能など、非常に多くの機能を提供しており、多くの開発者が PHP 用のさまざまな新機能を開発しています。
PHP は Apache と組み合わせるのが非常に簡単で、設定とインストールが非常に簡単です。現在、Apache は世界の Web サーバー市場の 60% を占めているため、PHP は当然最適です。アパッチ。
ただし、今回話したいトピックは、Web デザインにおける PHP の応用ではなく、シェル スクリプトでの PHP の応用です。一般的に知られているシェル スクリプトは、tcsh、bash、perl、または Python に関するものです。ここで話しているのは、PHP をシェル スクリプトとして使用することです。
PHP 実行可能ファイルのインストール
通常、Web ページ処理言語としての PHP は Apache モジュールにコンパイルする必要があります。したがって、コンパイルは root として次の操作を実行するだけです。 php-3.0 .xx.tar.gz のロックを解除します
cd php
configure
make
コンパイル後、php ディレクトリに実行可能ファイルが作成されます。ファイル名は php です。これを /usr/local/bin にコピーします。ファイルが大きすぎる場合は、strip コマンドを使用して PHP 内の不要な情報を削除すると、ファイルが大幅に小さくなることに注意してください。
最初のプログラム
最初の PHP シェル スクリプト プログラムの作成を開始しましょう。この例では、「Hello world!」を出力します。
#!/usr/local/bin/php -q
echo "Hello, world !";
?>
PHP は元々 Web アプリケーションで使用されていたため、デフォルトで HTML ヘッダーを送信しますが、ここでは PHP をシェル スクリプトとして使用しています。これは、HTML ヘッダーを送信しないことを意味します。 -q を追加せずに表示結果を試すことができます。
この例では、/usr/local/bin/php は、PHP を /usr/local/bin/ にインストールしたばかりなので、その下で実行することを意味します。 echo コマンドは「Hello, world!」を出力します。ここで、「」文字は改行文字です。
このプログラムをファイルとして保存した後、実行可能になるように chmod (chmod +x ファイル名) する必要があることに注意してください。
I の高度な使用方法
場合によっては、プログラムの実行時に、-l パラメーターを後に続けることができる ls コマンドなど、いくつかのパラメーターを送信する必要があります。PHP シェル スクリプトでは、2 つの特殊変数 $argc を使用して、この使用法もサポートされています。は後で送信されるパラメータの数を記録し、$argv[] 配列パラメータはパラメータの内容を保存します。たとえば、2 つの数値の合計を計算するプログラムを設計したいとします。
#!/usr/local/bin/php -q
$sum=$sum+$argv[1] ]+ $argv[2];
echo $sum;
?>
このプログラムの名前が sum.php3 であると仮定し、sum.php3 を実行します。 1 2 Enter キーを押すと、3 が出力されます。
不特定の数のパラメータの合計を計算したい場合は、特別な変数 $argc を使用する必要があります:
#!/usr/local/bin/php -q
for ($t=1;$t<=$argc;$t++)
$sum=$sum+$argv[$t];
echo $sum;
このプログラムの名前を bigsum.php3 とします。 bigsum.php3 1 2 3 4 5 を実行して Enter を押すと、15 が出力されます。 bigsum.php3 1 2 3 4 5 6 を実行して Enter を押すと、21 が出力されます。
プログラムの実行中にデータを入力する必要がある場合がありますが、PHP はもともと Web デザインに使用されており、Web ページ上のデータ入力は当然 FORM を使用して入力されるため、この問題は PHP をシェル スクリプトとして使用するときに発生します。幸いなことに、PHP にはシェル スクリプトが用意されています。 Linux/Uinx では、ファイルを開くことで入力を行うことができます。開きたいのはデバイス ファイル /dev/stdin (stdin は標準入力を意味します) であり、プログラムは次のとおりです:
#!/usr /local/bin/php -q
$fp=fopen("/dev/stdin","r");
fclose($fp);
echo "n-----------n";
echo $inputstr;
その中で、fgets($fp,100) を参照します。ファイル $fp (つまり、「/dev/stdin」) から 100 バイトのデータを読み取るまで、プログラムはこの行に達すると停止します。入力を待ち、入力を終えて Enter キーを押すと、プログラムは出力します。入力したデータを出力します。
高度な使用 II
すでに入力を処理できますが、この関数は明らかに単純すぎて、たとえば、データ ストリームから HTML を完全に削除する機能が必要です。入力と出力のステアリングを処理するには、まず次のようにプログラムを設計します。
#!/usr/local/bin/php -q
$fp=fopen("/dev/stdin", "r");
while(!feof($fp)) {
$c=fgetc($fp);
fclose($fp); ?>
このプログラムを filt.php3 という名前だとします。このプログラムを直接実行すると、入力データを出力する前に Ctrl+D を押すまで待機します。
more filt .php3 | filt.php3
このメソッドは、more を使用して filt.php3 プログラムを表示し、それを filt.php3 プログラムにリダイレクトします。実際には、filt.php3 プログラム コードです。それ自体)、最後にそれを印刷します。
HTML をフィルタリングする機能を追加できます:
#!/usr/local/bin/php -q
$fp=fopen("/dev/stdin","r");
while (! feof($fp)) {
$c=fgetc($fp);
$inputstr=$inputstr.$c;
$inputstr=ereg_replace(" ^<>]*)>","",$inputstr);
echo $inputstr;
?>
このプログラムの名前が filt2.php3 であると仮定し、フィルタリング関数を完了します ﹐信じてください。HTML ファイルで試してみてください:
more xxx.html | filt2.php3
HTML タグが削除されたファイルが表示されます。
結論
PHP は実際にはシェル スクリプトとして非常に使いやすいです。その理由は、PHP 自体が学習しやすく、Web サイトのデザインに PHP を頻繁に使用していた場合、もう PHP を使用するのが好きではなくなるからです。このとき、PHP をすべてシェルスクリプトとして使用する必要がなく、システム全体を一貫した方法で開発できるというメリットが現れます。 Perl/Python または C も同時に使用します。
このサイト、LinuxFab は PHP と MySQL を使って開発されています。PHP が必要な場合は、今後も紹介します。 -関連情報については、このサイトへようこそ。このサイトの PHP フォーラムでさらなるディスカッションに参加してください。 (出典: ヴィフォト)
http://www.bkjia.com/PHPjc/314161.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/314161.html
技術記事
PHP はなぜこれほど人気があるのでしょうか? 最近、PHP (Personal Hypertext Preprocessor) は、その便利さと強力な機能により、ここ 2 年間で Linux/Unix で最も広く使用されている Web ページ処理言語になったようです。