現在、インターネット上の多くの Web サイトのニュース リリース システムでは、動的サーバー テクノロジを使用して静的 HTML を生成しています。第 1 に、サーバーの負荷を軽減できることです。 HTML 静的ページを生成するため、Web サイトが検索エンジンによって検索される可能性が高くなります。
著者の Web サイトは、かつて動的テクノロジである PHP を使用してニュース リリース システムを構築していましたが、その原理は、PHP のテクノロジを適用して HTML 静的ページを生成することでした。そのため、ここでは、PHP のテクノロジを適用して HTML 静的ページを生成しました。 , このアプローチの考え方について簡単にお話したいと思います。この記事は、PHP + MYSQL データベース操作、SQL ステートメント、Web デザインの基本的な知識を持っている友人に適しています。あなたがゼロから学習している友人の場合は、まずしっかりとした基礎を築いてください。ここで下を見る必要はありません。上記の条件を満たしている場合は、おめでとうございます。読み続けてください。ただし、実際に構築する前に以下の準備が必要です。
1.PHPのローカルデバッグ機能付き
WINDOWS XP オペレーティング システムでは、Huajun Software Park などのインターネットから PHP+MYSQL+APHCHE サーバー パッケージをダウンロードし、そこで検索するとダウンロードできると著者は推奨しています。ダウンロード後、デフォルトでインストールできます。これにより、PHP をローカルでテストできるようになり、手動構成での多くの手間が省けます。これは最初のステップにすぎません。
2. ニュースリリースシステムの機能を考える
ホームページのニュースリリースはバックグラウンドで更新されることが多く、バックグラウンド更新はデータの追加、編集、削除などの基本的な機能にすぎません。ここでは、Web デザイン ソフトウェアを使用して、必要なバックエンド インターフェイスを構築できます。もちろん、その機能の実装には PHP が使用されます。このステップでは、まずニュースリリースシステムに備えるべき機能を考えることをお勧めします。ここでは、PHP を使用してデータを追加、編集、削除する方法については繰り返しません。これに基づいて静的テクノロジを生成する方法に焦点を当てているからです。
3. PHP による HTML 生成の技術原則。
ははは。フェイはたくさん言いましたが、ついに話す時が来ました。実際、この原則は複雑ではありません。一般的に言えば、PHP のデータ構文を置き換える応用です。 OK、簡単な例について話して、それを段階的に分析してみましょう。あなたは賢いので、それを明確に理解できると思います。ここでは、その方法を詳しく説明します。
(1) MYSQL で新しいデータベースを作成し、database という名前を付けます (カスタマイズ可能)。新しいテーブルを作成し、news という名前を付けます (ニュースリリースなので、覚えやすく、わかりやすい名前を付けてください)カスタマイズ可能)、次に次のフィールド名を作成します:
id (自動インクリメント、これはキー、タイプ: INT)
タイトル (名前が示すように、ニュースのタイトル、タイプは TEXT にすることができます)
content (ニュースコンテンツ、オプションのタイプは TEXT)
パス (HTML ファイルのパス、タイプは TEXT にすることができます)
(2) conn.php を作成します
これはデータベースに接続する PHP ファイルです。将来、データベースに接続する必要がある複数のファイルがこのファイルにデータを接続するためのステートメントを個別に配置できます。
(3) ニュース追加用のフォーム add.form を設計します。 簡単なソースコードは次のとおりです。
以下是代码片段,把《》换成<>: 《form method=”post” action=”add.php”> //提交至 add.php |
(4) HTML テンプレートを作成し、model.htm として保存します。add.php は同じディレクトリに置くことができます。
サンプルソースコード:
以下是代码片段,把《》换成<>: 《html> 《body> 此新闻的标题:{title} 此新闻的内容:{content} 《/body> 《/html> |
《本体》
このニュースのタイトル: {title}このニュースの内容: {content}
以下是代码片段,把《》换成<>: 《?php require_once(“conn.php”); //引用conn.php,连接数据库 title=_POST[“title”]; content=_POST[“content”]; //获得表单变量 //以下建立一文本文档,其值自动计数 countfile="count.txt"; if(!file_exists(countfile)) { fopen(countfile,"w"); //如果此文件不存在,则自动建立一个 } fp=fopen(countfile,"r"); num=fgets(fp,20); num=num+1; //每次其值自动加一 fclose(fp); fp=fopen(countfile,"w"); fwrite(fp,num); //更新其值 fclose(fp); |
(5) add.phpソースコードの詳細説明
以下是代码片段,把《》换成<>: sql=”insert into news (title,content,path) values (‘”.title.”’,’”.content.”’,’”.path.”’)”; query=mysql_query(sql); |
//以下は値が自動的にカウントされるテキストドキュメントを作成します
countfile="count.txt"; if(!file_exists(countfile)){
以下是代码片段,把《》换成<>: fp=fopen(“model.htm”,”r”) //只读打开模板 str=fread(fp,filesize(“mode.htm”));//读取模板中内容 str=str_replace(“{title}”,title,str); str=str_replace(“{content}”,content,str);//替换内容 fclose(fp); handle=fopen(path,”w”); //写入方式打开新闻路径 fwrite(handle,str); //把刚才替换的内容写进生成的HTML文件 fclose(handle); |
以下是代码片段,把《》换成<>: echo “查看刚才添加的新闻”; |
OK、HTML を生成するためのサンプル ソース コード全体はここにあります。重要なのは、置換メソッドを使用することです。
str=str_replace("{置換されたコンテンツ}", 置換されたコンテンツ, str);
したがって、上記のアプローチを要約すると、まずニュース テンプレートを設計し、{ } を使用して置換する必要があるコンテンツをテンプレート内の対応する位置に配置します。次にフォームを設計し、次に最終フォーム ハンドラーに、から取得した変数を配置します。フォーム テンプレート内の対応するコンテンツを置き換えるだけで、毎回異なる HTML が生成されます。HTML のコンテンツを変更する必要がある場合も、変更されたフォームのコンテンツを取得した後、最初にデータベースを更新します。 update ステートメントを実行し、テンプレート内の HTML を再度置き換えます。削除する場合は、まずテーブル内の削除するコンテンツを削除してから、unlink(path) を使用して HTML の物理ファイルを削除します。 。