本文目錄一覽:
- 1、php程序 怎麼生成靜態頁面 純動態頁面怎麼生成靜態頁面 不要CMS模板
- 2、PHP頁面怎麼生成靜態的HTML頁面
- 3、php生成靜態頁面的方法
- 4、如何用PHP輸出靜態頁面
- 5、PHP網站如何實現網頁偽靜態或靜態?
php程序 怎麼生成靜態頁面 純動態頁面怎麼生成靜態頁面 不要CMS模板
原理只需要兩句話,細節你在自己處理就可以了
$content=file_get_contents(“網址”);
file_put_contents(“a.html”,$content);
可以直接粘下拉,把網址換成你想生成靜態頁面的網址,就可以了
希望對你有幫助
PHP頁面怎麼生成靜態的HTML頁面
PHP模板實現靜態化非常方便,比如安裝和使用PHP Smarty實現網站靜態化。
在使用Smarty的情況下,也可以實現頁面靜態化。下面先簡單說一下使用Smarty時通常動態讀取的做法。
一般分這幾步:
1、通過URL傳遞一個參數(ID);
2、然後根據此ID查詢資料庫;
3、取得數據後根據需要修改顯示內容;
4、assign需要顯示的數據;
5、display模板文件。
Smarty靜態化過程只需要在上述過程中添加兩個步驟。
第一:在1之前使用 ob_start() 打開緩衝區。
第二:在5之後使用 ob_get_contents() 獲取內存未輸出內容,然後使用fwrite()將內容寫入目標html文件。
根據上述描述,此過程是在網站前台實現的,而內容管理(添加、修改、刪除)通常是在後台進行,為了能有效利用上述過程,可以使用一點小手段,那就是Header()。具體過程是這樣的:在添加、修改程序完成之後,使用Header() 跳到前台讀取,這樣可以實現頁面HTML化,然後在生成html後再跳回後台管理側,而這兩個跳轉過程是不可見的。
php生成靜態頁面的方法
你這個不是靜態頁面啊…還是動態頁…
如果實現偽靜態的話..
不是PHP可以做到的….應該是APACHE的mod_rewrite
IIS下的ReWrite是收費的..一般虛擬主機不提供~~~
smarty只是模板引擎而已..和URL無關~~
你列印下$_SERVER看看~~
你的頁面在$_SERVER里能得到一個值 $_SERVER[“PATH_INFO”]
包括了你想要的東西..然後去取就可以了~~
如何用PHP輸出靜態頁面
用PHP輸出靜態頁面有2種方法
一種是利用模板技術,另一種是用ob系列函數。兩種方法,看起來都差不多,但是實際上,卻是不同的。
第一種:利用模板
目前PHP的模板可以說是很多了,有功能強大的smarty,還有簡單易用的smart template等。
它們每一種模板,都有一個獲取輸出內容的函數。
我們生成靜態頁面的方法,就是利用了這個函數。
用這個方法的優點是,代碼比較清晰,可讀性好。
這裡我用smarty做例子,說明如何生成靜態頁
?php
require(‘smarty/Smarty.class.php’);
$t = new Smarty;
$t-assign(“title”,”Hello World!”);
$content = $t-fetch(“templates/index.htm”);
//這裡的 fetch() 就是獲取輸出內容的函數,現在$content變數裡面,就是要顯示的內容了
$fp = fopen(“archives/2005/05/19/0001.html”, “w”);
fwrite($fp, $content);
fclose($fp);
?
第二種方法:利用ob系列的函數
這裡用到的函數主要是 ob_start(), ob_end_flush(), ob_get_content(),
其中ob_start()是打開瀏覽器緩衝區的意思,
打開緩衝後,所有來自PHP程序的非文件頭信息均不會發送,
而是保存在內部緩衝區,直到你使用了ob_end_flush().
而這裡最重要的一個函數,就是ob_get_contents(),
這個函數的作用是獲取緩衝區的內容,相當於上面的那個fetch(),
道理一樣的。代碼:
?php
ob_start();
echo “Hello World!”;
$content = ob_get_contents();//取得php頁面輸出的全部內容
$fp = fopen(“0001.html”, “w”);
fwrite($fp, $content);
fclose($fp);
?
PHP網站如何實現網頁偽靜態或靜態?
偽靜態實現方式兩種:
1. web伺服器上設置.html或者.htm等後綴的頁面也通過PHP來處理即可,比如Nginx或者Apache,都有這樣的配置文件,設置PHP處理的文件後綴類型,這樣前台請求的htm文件,實際上是PHP代碼
2. 通過設置web伺服器的rewrite規則來實現,每個web伺服器基本上都有這個功能,看看手冊即可實現
真正的靜態實現:
通過CMS發布系統,後台直接生成真正的靜態頁面,比如新聞網站的新聞發布系統,後台錄入內容後,直接生成html的靜態結果頁面給用戶來訪問,PHP有好多開源的CMS發布系統,你可以下載了研究研究,也可以使用模板引擎smarty來生成靜態頁面。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/275794.html