ヒント
(Coolman)
高速で信頼性が高く、クロスプラットフォーム アプリケーションとオープン ソース コードという特徴により、PHP は最も人気のあるサーバーサイド スクリプト言語の 1 つになりました。私が仕事で経験したことをもとに、PHPを使ってみた経験を皆さんの参考になれば幸いです。
PHP のインクルード ファイルを使用して Web サイトを保守しましょう
開発する Web サイトのサイズが大小に関係なく、PHP プログラムを再利用するか、HTML ソース コードを再利用するかにかかわらず、プログラム コードを再利用することの重要性を認識する必要があります。たとえば、Web サイトのページの最後にある著作権表示は、少なくとも 1 年に 1 回は改訂する必要があります。Web サイトに多くのページがある場合はどうすればよいでしょうか。これらのページを 1 つずつ変更するのは大変な作業でしょう。 PHP を使用すると、プログラム コードをさまざまな方法で再利用できます。どの機能を使用するかは、再利用したいコンテンツの種類によって異なります。
これらの主な関数は次のとおりです:
* include() および include_once()
* require() および require_once()
1.include() 関数は、指定されたファイルを読み取り、内部のプログラムを実行します。
例: include('/home/me/myfile');
インポートされたファイル内のプログラムコードが実行され、実行されると、これらのプログラムにはソース内で include() 関数が呼び出される場所が含まれます。ファイルの変数スコープは同じです。同じサーバーから静的ファイルをインポートしたり、 include() 関数と fopen() 関数を組み合わせて他のサーバーからファイルをインポートしたりすることもできます。
2. include_once() 関数の機能は include() とほぼ同じです。唯一の違いは、include_once() 関数は、インポートされるファイルがプログラム内の他の場所にインポートされているかどうかを最初にチェックすることです。 、ファイルは繰り返しインポートされません (この関数は場合によっては非常に重要です。たとえば、インポートされるファイルが自分で定義したいくつかの関数を宣言している場合、そのファイルが同じプログラム内で繰り返しインポートされると、エラー メッセージが表示されます)これは、PHP では同じ名前の関数を 2 回宣言することを許可していないため、2 回目のインポート時に発生します)。
3.require() 関数は、対象ファイルの内容を読み取り、読み取った内容で自身を置き換えます。
この読み取りと置換アクションは、PHP エンジンがコンパイルされたプログラム コードの実行を開始するときではなく、PHP エンジンがプログラム コードをコンパイルするときに発生します (PHP 3.0 エンジンの動作方法は、一度に 1 行ずつコンパイルして実行しますが、これは変更されています) PHP 4.0 では、まずプログラム コード全体がコンパイルされてから、コンパイルされたプログラム コードが一度に実行されます。コンパイル プロセス中にプログラム コードは実行されません。 require() は通常、静的コンテンツのインポートに使用されますが、include() は動的プログラム コードのインポートに適しています。
4. include_once() 関数と同様に、require_once() 関数は、ターゲット ファイルのコンテンツが以前にインポートされているかどうかを最初に確認します。そうであれば、同じコンテンツは再度インポートされません。
私は個人的に、require() 関数を使用して、著作権、静的テキスト、または変数自体を含まない、または正しく実行するために他の実行プログラムに依存する必要があるその他のプログラム コードをインポートします。例:
<HTML>
<HEAD><TITLE>ウェブページのタイトル</TITLE></HEAD>
<BODY>
[コンテンツの束]
<?
// 著作権宣言文をインポート
require(' /home /me/mycopyright');
?>
</BODY></HTML>
一方、私は通常、プログラムの先頭で include() 関数を使用して、関数ライブラリや同様のプログラム コードをインポートします。 :
< ?
// 関数ライブラリをインポートします
include('/home/me/myfunctions');
// 以前にインポートした関数ライブラリで定義された PHP 関数を使用して、いくつかの関数を実行します?>
質問: 「これらのインポートされたファイルはどこに行きますか?」 簡単に言うと、「サーバーのファイル システムのどこにでも」です。ただし、インポートされたファイルがフラグメント以外の場合は、また、データベース システムへの接続に使用されるアカウント番号やパスワードなどの機密情報も含まれています。これらのファイルを Web サーバーのファイル ルート ディレクトリに配置しないことをお勧めします。そうすると、他の人が簡単に盗むことができます。これらの情報。
これらのインクルードされたファイルは、システムの任意のディレクトリに配置できます。唯一の条件は、PHP 自体が実行するために使用する ID (www、nobody、またはその他の ID) がこれらのファイルを読み取るための十分な権限を持っていることです。これらのファイルの拡張子は、ファイル拡張子がない場合でも任意に選択できます。
include() と require() を上手に活用して、Web サイト内で頻繁に変更が必要な共有コンテンツを合理的に分割すると、Web サイトのコンテンツを更新するのがはるかに簡単になります。
PHPを使用してファイルシステムを保守します
PHP はファイル システムに関連する多くの機能を提供しており、ファイルを開くだけでなく、ディレクトリの内容を表示したり、ファイルの場所を移動したりすることもできます。友人の中には、ブラウザを通じてファイルのコンテンツを管理できる PHP プログラムを作成した人もいます。
PHP のファイル システム関連の機能を紹介する前に、まず 1 つのことを明確にしておく必要があります。Windows オペレーティング システムでは、ファイル パスはスラッシュ (/) またはバックスラッシュ () で表すことができますが、他の操作ではこのシステムではスラッシュのみを使用します。均一性を維持するために、以下の例のファイル パスではスラッシュが使用されています。
次のサンプルプログラムでは、基本的なディレクトリコンテンツの表示関数を説明します。各ステップにはコメントが付いていますので、直接読んでください。
<? /* この変数 $dir_name の値は、読み取りたいディレクトリのフルパスです*/
$dir_name = "/home/me/"
/* opendir() 関数はディレクトリを開きますそして、プログラム内でディレクトリを参照するために使用できる参照値 (ハンドル) を返します*/
$dir = opendir($dir_name); 使用される HTML ボリューム ラベルのリストを含む文字列の作成を開始します。ディレクトリ内のファイル名を表示します。 */
$file_list = "<ul>";
/* while ループステートメントを使用して、以前に開いたディレクトリ内のすべてのファイルを読み取ります。読み込んだファイル名が「.」または「..」でない場合は、上記文字列にファイル名が書き込まれます。 */
while ($file_name = readdir($dir)) {
if (($file_name != ".") && ($file_name != "..")) {
$file_list .= "<li>$ file_name";
}
}
/* HTML リストのラベルに末尾を追加します*/
$file_list .= "</ul>";
/* 前に開いたディレクトリを閉じて、この PHP プログラムを終了します*/
closedir ( $dir);
?>
<!--HTML ソースコードはここから始まります-->
<HTML>
<HEAD>
</HEAD>
<BODY>
<!-- PHP プログラムを使用してディレクトリ名を指定します読み取ったファイルがページに表示されます-->
<P>ファイル名: echo "$dir_name"; ?>