ブログの友人はバーチャルホストをレンタルすることを選択しており、かなりの数のバーチャルホストが PHP をサポートしています。 PHP をサポートするホスティング スペースをお持ちの場合、Web サイトに PHP を装備していますか?
訪問者を引き付けるために、時々自動的に更新されるコンテンツを PHP に Web ページに追加させることはできますか?この関数の実装には高度なプログラミング知識は必要ありません。次の例を参照してください:
(1) 英語のことわざ
簡単なアプリケーションを見てみましょう。PHP プログラムでデータベースからレコードの行をランダムに抽出し、それを Web ページに表示し、15 分ごとに別のレコードを読み取ります。英語や中国語のことわざなどが表示に適したコンテンツです。
個人のホームページをホストするほとんどの安価な仮想ホストは MySQL などのデータベースをサポートしていないことを考慮して、データの保存にはテキスト データ ファイルを使用します。これはトラフィックの少ない Web サイトには十分です。次の内容を含む english.dat という名前のテキスト ファイルを作成します:
始まりを嫌う者は終わりも嫌う。
何もないよりは、悪い藪の方が良い。
悪い妥協は良い訴訟よりも優れています。
悪い良心は心の中の蛇です。
悪い習慣は良いケーキのようなもの、守るよりも破った方が良い 悪い習慣は良いケーキのようなもので、守るよりも壊した方が良い。
悪い南京錠はピックロックを招きます。
……
各行は完全なレコードであり、途中で改行がないことに注意してください。ファイル内に半角の二重引用符 ( " ) を含めることはできません。そうしないと、データの出力時にプログラムで解析エラーが発生します。このようなコンテンツはインターネット上で検索してください。また、私の Web サイト http://www.musicfly.NET/english.dat にアクセスして、データ ファイル
をダウンロードすることもできます。以下はデータを読み込むプログラムです。 english.dat という名前のテキスト ファイルを作成し、次のようにソース コードを追加します:
$filename = 'english.dat' //データファイル名
;
$refresh = 900 //更新サイクル (秒単位、必要に応じて調整可能)
$data = file($filename) //データファイルを配列にロードします
$num_lines = count($data); //データファイルの行数、つまりレコード数 mt_srand(floor(time() / $refresh));
$id = mt_rand(0, $num_lines - 1) //ランダムにレコード番号を選択します
$content = Chop($data[$id]); //レコード番号に従って該当するデータを選択し、最後の改行文字を切り取ります
echo "document.write("$content");" //データを JavaScript 形式で出力します
?>
english.dat と english.PHP を保存し、サーバー上の同じディレクトリにアップロードします。
最後のステップは、Web ページでこの PHP プログラムを呼び出してコンテンツを表示することです。 PHP の実行結果は JavaScript 形式で出力されるため、この PHP を javascrupt として呼び出すだけで済みます。方法は次のとおりです。メモ帳または Web ページ編集ソフトウェアを使用して、変更したい HTML ファイルを開き、動的ファイルを追加します。変更したいphpファイルの内容を変更し、表示された位置に次のコードを追加します:
変更する HTML ファイルが english.PHP と同じディレクトリにない場合は、src="..." で english.php の相対パスを指定する必要があることに注意してください。
この変更された HTML ファイルをサーバーにアップロードし、ブラウザで開きます。すべての手順を正しく実行すると、データ ファイルの内容が表示されるはずです。 15 分後にページを更新して、表示されたコンテンツが変化したかどうかを確認してください。これらのコンテンツを更新するために特別な作業を行う必要はなく、PHP プログラムが自動的に更新します。
友人が同じ機能を自分の Web ページまたはブログに実装したいが、PHP をサポートするホストを持っていない場合は、 を使用してホスト上のプログラムを呼び出し、同じコンテンツを表示します。
もちろん、このプログラムは、コンテンツが gb2312 エンコードで表示されるため、エンコード方式の非互換性の問題も抱えている可能性があります。UTF エンコードされた Web ページ上で使用すると、中国語が文字化けします。解決策はこの記事の範囲を超えています。関連するチュートリアルを検索してください。
この関数を実装した後、HTML の静的な世界から PHP の動的な世界への移行が始まりました。日は長いので、次回は、php を使用して Web ページに「毎日の星占い」機能を追加する方法を見てみましょう。
(この記事のプログラムはすべて PHP4/php5 環境で動作します。)