ホームページ php教程 php手册 ページの staticization_php の基本に関するいくつかの一般的なメソッドを共有します

ページの staticization_php の基本に関するいくつかの一般的なメソッドを共有します

May 16, 2016 am 08:59 AM
静的ページ

静的 php とは

php の静的化を簡単に理解すると、web サイトで生成されたページを静的 html の形式で訪問者の前に表示することです。php の静的化は、純粋な静的化と擬似静的化に分けられます。この 2 つの違いは、静的静的化の処理メカニズムが異なることにあります。 php を使用して静的ページを生成します。

web ページを静的にする理由

1. ページを開く速度と閲覧速度を高速化します。静的ページはデータベースに接続する必要がなく、動的ページよりも大幅に高速です。
2. 検索エンジン最適化 (seo) に役立ちます。baidu と google は、静的ページを優先的に含めます。静的ページは、すぐに含まれるだけでなく、完全に含まれます。
3. サーバーの負担を軽減し、システムデータベースを呼び出さずにウェブを閲覧できます。
4. web サイトはより安全であり、html ページは php 関連の脆弱性の影響を受けません。大規模な web サイトを見ると、それらは基本的に静的なページであり、攻撃を軽減し、sql インジェクションを防ぐことができます。

データベースエラーが発生しても、web サイトへの通常のアクセスには影響しません。
html 記事の生成は操作が面倒で手順が複雑ですが、検索の利便性、高速性、安全性を高めるためには、こうした犠牲を払う価値があります。

php で静的 html ページを生成する方法

php テンプレートを使用して静的ページを生成

php テンプレートの静的化を実現すると非常に便利です。たとえば、php smarty をインストールして使用すると、静的な web サイトを実現できます。また、独自のテンプレート解析ルールのセットを作成することもできます。共通のテンプレート ルールは、さまざまな cms テンプレートを模倣できます。

1. phpファイルの読み書き機能とobキャッシュ機構を利用して静的ページを生成
たとえば、製品の動的な詳細ページのアドレスは次のとおりです: http://xxx.com?goods.php?gid=112
ここでは、このアドレスに基づいてこの詳細ページのコンテンツを読み取り、静的ページとして保存します。次回誰かがこの商品詳細ページの動的アドレスにアクセスしたときに、
生成された対応する静的コンテンツファイルを直接出力します。

<!--?php
$gid = $_get['gid']+0;//商品id
$goods_statis_file = "goods_file_".$gid.".html";//对应静态页文件
$expr = 3600*24*10;//静态文件有效期,十天
if(file_exists($goods_statis_file)){
  $file_ctime =filectime($goods_statis_file);//文件创建时间 
	 if($file_ctime+$expr-->time()){//如果没过期
	  echo file_get_contents($goods_statis_file);//输出静态文件内容
		 exit;
	 }else{//如果已过期
		 unlink($goods_statis_file);//删除过期的静态页文件
		 ob_start();
 
			//从数据库读取数据,并赋值给相关变量
 
			//include ("xxx.html");//加载对应的商品详情页模板
 
			$content = ob_get_contents();//把详情页内容赋值给$content变量
			file_put_contents($goods_statis_file,$content);//写入内容到对应静态文件中
			ob_end_flush();//输出商品详情页信息
	 }
}else{
 ob_start();
 
 //从数据库读取数据,并赋值给相关变量
 
 //include ("xxx.html");//加载对应的商品详情页模板
 
 $content = ob_get_contents();//把详情页内容赋值给$content变量
 file_put_contents($goods_statis_file,$content);//写入内容到对应静态文件中
 ob_end_flush();//输出商品详情页信息
 
}
 
?>
ログイン後にコピー

2. nosql を使用してメモリからコンテンツを読み取ります (実際、これは静的ではなくキャッシュされています)。

memcache を例に挙げます。


<!--?php
$gid = $_GET['gid']+0;//商品id
$goods_statis_content = "goods_content_".$gid;//对应键
$expr = 3600*24*10;//有效期,十天
 
$mem = new Memcache; 
$mem--->connect('memcache_host', 11211);
 
$mem_goods_content = $mem->get($goods_statis_content);
 
 
 
if($mem_goods_content){
  echo $mem_goods_content;
}else{
 ob_start();
 
 //从数据库读取数据,并赋值给相关变量
 
 //include ("xxx.html");//加载对应的商品详情页模板
 
 $content = ob_get_contents();//把详情页内容赋值给$content变量
 $mem->add($goods_statis_content,$content, false, $expr);
 ob_end_flush();//输出商品详情页信息
 
}
 
?>
ログイン後にコピー

memcached では、キーと値の間に 1 対 1 の対応関係があります。デフォルトのキー サイズは 128 バイトを超えることはできず、デフォルト値のサイズは 1m です。したがって、1m サイズはほとんどの web ページのストレージ ニーズを満たすことができます。
上記は、ページの静的化に関連する方法です。友人にとって役立つことを願っています。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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