1. php怎麼生成靜態網頁
PHP 模板引擎Smarty可以生成【靜態頁面】緩存。
Smarty是一個使用PHP寫出來的模板引擎,是目前業界最著名的PHP模板引擎之一。它分離了邏輯代碼和外在的內容,提供了一種易於管理和使用的方法,用來將原本與HTML代碼混雜在一起PHP代碼邏輯分離。簡單的講,目的就是要使PHP程序員同前端人員分離,使程序員改變程序的邏輯內容不會影響到前端人員的頁面設計,前端人員重新修改頁面不會影響到程序的程序邏輯,這在多人合作的項目中顯的尤為重要。
Smarty優點
1. 速度:採用Smarty編寫的程序可以獲得最大速度的提高,這一點是相對於其它的模板引擎技術而言的。
2. 編譯型:採用Smarty編寫的程序在運行時要編譯成一個非模板技術的PHP文件,這個文件採用了PHP與HTML混合的方式,在下一次訪問模板時將WEB請求直接轉換到這個文件中,而不再進行模板重新編譯(在源程序沒有改動的情況下)
3.【 緩存技術】:Smarty選用的一種緩存技術,它可以將用戶最終看到的HTML文件緩存成一個【靜態的HTML頁】,當設定Smarty的cache屬性為true時,在Smarty設定的cachetime期內將用戶的WEB請求直接轉換到這個【靜態的HTML】文件中來,這相當於調用一個【靜態的HTML文件】。
4. 插件技術:Smarty可以自定義插件。插件實際就是一些自定義的函數。
5. 模板中可以使用if/elseif/else/endif。在模板文件使用判斷語句可以非常方便的對模板進行格式重排。
2. php靜態頁面怎麼做詳細點
確實有點籠統。不過我可以跟樓主大概說一下思路 一般的生成靜態頁面的方法就先製作一個靜態模板,在裡面需要動態改變的東西用特殊的代碼標記,然後再用PHP將標記替換後生成文件進行保存。 比如:<body> <div>{:This is the content:}</div> </body> 這個裡面的{:This is the content:}就是一個特殊的標記。我們設這段代碼在a.html文件中,我們用PHP將他讀入,<?php $b='這里是內容,可以從資料庫讀取,或者從其他途徑獲得'; $fp=fopen('a.html','r'); $content=fread($fp,filesize('a.html')); fclose($fp); $content=str_replace('{:This is the content:}',$b,$content);(額。。這個函數參數順序記不太清楚了) $fp1=fopen('b.html','w'); fwrite($fp,$content); fclose($fp); ?> 這樣我們就得到了b.html這個文件,就是一個靜態的文件,裡面的代碼如下: <body> <div>這里是內容,可以從資料庫讀取,或者從其他途徑獲得</div> </body> 這樣說,樓主明白了吧? 其實一般的網站是不需要生成這樣的靜態頁面的,流量低的網站命中率也就低了,而且更新起來非常麻煩。這就需要用到一些其他的技術的。比如SSI啊,比如只保存資料庫查詢結果啊。什麼的
3. php如何實現網頁靜態
一、靜態化的優點:
1有利於搜索引擎收錄網站頁面的信息:搜索引擎更喜歡靜態的,更變於抓取,搜索引擎SEO排名會更容易提高。
2靜態網頁化網頁穩定
3可以提高網頁載入速度
4減輕伺服器負擔,瀏覽器不需要頻發調用資料庫。
5資料庫出錯不會影響正常訪問
二、偽靜態
PHP偽靜態:是利用Apache mod_rewite實現url重寫的方法
改寫訪問地址,能夠通過URL的PATHINFO模式來改動它。讓它看上去更像一個靜態頁面。從而有更大的幾率被搜索引擎抓取和收錄,僅是對搜索引擎比較友好,偽靜態化
三、純靜態化
純靜態化,就是生成HTML文件的方式,我們須要開啟PHP自帶的緩存機制,即ob_start來開啟緩存。而且在ob_start之前不能有不論什麼輸出,否則運行失敗,然後我們用ob_get_contents函數來獲取緩存中的內容,該函數會返回一個字元串。第三個函數就是ob_end_clean,它用來清空緩存中的內容而且關閉,成功返回True,失敗返回False。
<?php
if(file_exists("match.html") && (time()-filemtime("match.html"))<300)
{
//如果存在對應的靜態文件,則直接訪問
require_once("match.html");
}else{
//這里用數組來模擬資料庫操作,現實一般都是操作資料庫得到對應數據
$student = array("huangxing","chenyuwei",'xufei','zhangjingwen','xuepei');
ob_start();
//載入模板
require_once("muban.php");
file_put_contents("match.html",ob_get_clean());
require_once('match.html');
}
4. PHP網站如何實現網頁偽靜態或靜態
偽靜態 實際是伺服器的設置,php實現靜態,就是用php生成靜態頁,可以考慮用php的smarty 模板引擎