PHP页面静态化学习笔记之四:简易新闻系统v1.0
这是本人根据自己学习PHP技术页面静态化的过程所写的学习笔记,希望能够对大家有所帮助。 1、基本思路: (1)用户第一次访问这个页面时从数据库读出内容,放在缓存中; (2)将缓存中的数据写成一个html静态页面的文件; (3)用户以后访问都去读取生成html
这是本人根据自己学习PHP技术页面静态化的过程所写的学习笔记,希望能够对大家有所帮助。
1、基本思路:
(1)用户第一次访问这个页面时从数据库读出内容,放在缓存中;
(2)将缓存中的数据写成一个html静态页面的文件;
(3)用户以后访问都去读取生成html文件,然后输出在屏幕上;
(4)每隔一定的时间重新生成一次html静态页面。
2、创建数据库
create table news( id int unsigned primary key auto_increment, title varchar(128) not null, content varchar(256) not null, filename varchar(32)) engine=MyISAM
3、测试数据
INSERT INTO `static_pages_news`.`news` (`id`, `title`, `content`, `filename`) VALUES (NULL, 'hello1', '北京你好', NULL), (NULL, 'hello2', '四川你好', NULL);
4、代码
news_list.php(新闻列表页面)<?php //新闻列表 //查询数据库,获取信息=>SqlHelper.class.php $conn = mysql_connect("localhost", "root", "root"); if (!$conn) { die("连接失败"); } mysql_select_db("static_pages_news", $conn); mysql_query("set names utf8"); $sql = "select * from news"; $res = mysql_query($sql); header("content-type:text/html;charset=utf-8"); echo "<h1 id="新闻列表">新闻列表</h1>"; echo "<a href="#">添加新闻</a><hr>"; echo "
id | 标题 | 查看详情 |
{$row['id']} | {$row['title']} | 查看详情 |
show_news.php(新闻详情页面)
<?php $id = @$_GET['id']; //构建文件名 $html_filename = "new_id" . $id . ".html"; $html_path = dirname(__FILE__) . "/" . $html_filename; //判断html页面是否有并且页面最后修改时间到现在小于30s if (file_exists($html_path) && filemtime($html_path) + 30 < time()) { //直接访问html页面(把html页面的内容echo浏览器) echo file_get_contents($html_path); exit ; } $conn = mysql_connect("localhost", "root", "root"); if (!$conn) { die("连接失败"); } mysql_select_db("static_pages_news", $conn); mysql_query("set names utf8"); $sql = "select * from news where id=$id"; $res = mysql_query($sql); //开启缓存 ob_start(); if ($row = mysql_fetch_assoc($res)) { header("content-type:text/html;charset=utf-8"); echo "<table border='1px' bordercolor='green' cellspacing='0' width=400px height=200px>"; echo "<tr><td>新闻详细内容</td></tr>"; echo "<tr><td>{$row['title']}</td></tr>"; echo "<tr><td>{$row['content']}</td></tr>"; echo ""; } else { echo "没有结果"; } $html = ob_get_contents(); $my_header = "<meta http-equiv="Content-Type" content="text/html; charset=utf-8">"; //把ob写进html文档 file_put_contents($html_path, $my_header . $html); mysql_free_result($res); mysql_close($conn); ?>
5、不足之处
(1)在查看新闻详情的时候,仍然是一个PHP页面
(2)实时性不够好,有30s的延时

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
