php生成全靜態頁面的方法,php生成靜態html

本文目錄一覽:

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。在模板文件使用判斷語句可以非常方便的對模板進行格式重排。

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啊,比如只保存資料庫查詢結果啊。什麼的

誰能說說php生成靜態網頁的應用方式? – PHP進階討論

第一種:利用模板。目前PHP的模板可以說是很多了,有功能強大的smarty,還有簡單易用的smarttemplate等。它們每一種模板,都有一個獲取輸出內容的函數。我們生成靜態頁面的方法,就是利用了這個函數。用這個方法的優點是,代碼比較清晰,可讀性好。 第二種方法:利用ob系列的函數。這裡用到的函數主要是 ob_start(), ob_end_flush(), ob_get_content(),其中ob_start()是打開瀏覽器緩衝區的意思,打開緩衝後,所有來自PHP程序的非文件頭信息均不會發送,而是保存在內部緩衝區,直到你使用了ob_end_flush().而這裡最重要的一個函數,就是ob_get_contents(),這個函數的作用是獲取緩衝區的內容,相當於上面的那個fetch(),道理一樣的。 方法三:下面轉貼一個比較通用且好懂的 前言:目前網路上好多網站的新聞發布系統都採用了動態伺服器技術生成靜態HTML的做法,這樣做的好處是:一是能減輕其伺服器的負擔,二是因為生成了HTML靜態頁面,所以其網站被搜索引擎搜索到的機率更大一些。筆者的網站曾經使用PHP這一動態技術來構建新聞發布系統,其原理也就是應用了PHP生成HTML靜態頁面的技術,相關平台是 Windows XP Sp2+php4.32+mysql,因此,在這裡,想簡單地談一下這種做法的思路。這篇文章適合於對PHP+MYSQL資料庫操作,SQL語句以及網頁設計有點基礎的朋友,如果您是一個從頭開始學的朋友,那麼請先打好基礎吧!到這裡就不用往下看了。如果您都符合上述條件的話,那麼恭喜您,請接著往下看。但是,在具體動手構建之前,您還要做好以下幾點準備工作。 一、 具備本地調試PHP的功能 在WINDOWS XP操作系統下,筆者建議你可以到網上下載一個PHP+MYSQL+APHCHE的伺服器套裝,如華軍軟體園,去那裡搜索一下就可以下載到。下載完後默認安裝即可,這樣您就具備了在本地測試PHP的功能了,省去了很多手動配置的麻煩,怎麼樣,簡單吧,OK,這僅僅只是第一步。 二、 構思新聞發布系統所具備的功能 首頁的新聞發布往往是通過後台更新的,後台的更新無非是由添加、編輯、刪除數據等基本的功能所實現的。在這裡,你可以使用網頁設計軟體來構建你的想要的後台界面,其功能的實現當然是要用到PHP嘍。這一步建議您先想好新聞發布系統要有的功能。在這裡,如何用PHP添加、編輯、刪除數據就不再重複,因為重點是如何在這基礎上生成靜態技術。

php怎麼生成靜態頁面

利用模板。目前PHP的模板可以說是很多了,有功能強大的smarty,還有簡單易用的smarttemplate等。它們每一種模板,都有一個獲取輸出內容的函數。我們生成靜態頁面的方法,就是利用了這個函數。用這個方法的優點是,代碼比較清晰,可讀性好。

這裡我用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);

?

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’);

}

怎麼用php生成靜態頁代碼

?php

ob_start();

// 需要生成靜態頁的內容

// 如:echo ‘內容’;

$content = ob_get_clean();

// 將$content寫入目標文件

$fp = fopen(‘index.html’);

fwrite($fp, $content);

ob_end_clean();

?

希望能夠幫到你

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/151159.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-10 01:12
下一篇 2024-11-10 01:12

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • 解決.net 6.0運行閃退的方法

    如果你正在使用.net 6.0開發應用程序,可能會遇到程序閃退的情況。這篇文章將從多個方面為你解決這個問題。 一、代碼問題 代碼問題是導致.net 6.0程序閃退的主要原因之一。首…

    編程 2025-04-29
  • ArcGIS更改標註位置為中心的方法

    本篇文章將從多個方面詳細闡述如何在ArcGIS中更改標註位置為中心。讓我們一步步來看。 一、禁止標註智能調整 在ArcMap中設置標註智能調整可以自動將標註位置調整到最佳顯示位置。…

    編程 2025-04-29
  • Python中init方法的作用及使用方法

    Python中的init方法是一個類的構造函數,在創建對象時被調用。在本篇文章中,我們將從多個方面詳細討論init方法的作用,使用方法以及注意點。 一、定義init方法 在Pyth…

    編程 2025-04-29
  • Python創建分配內存的方法

    在python中,我們常常需要創建並分配內存來存儲數據。不同的類型和數據結構可能需要不同的方法來分配內存。本文將從多個方面介紹Python創建分配內存的方法,包括列表、元組、字典、…

    編程 2025-04-29
  • 用不同的方法求素數

    素數是指只能被1和自身整除的正整數,如2、3、5、7、11、13等。素數在密碼學、計算機科學、數學、物理等領域都有著廣泛的應用。本文將介紹幾種常見的求素數的方法,包括暴力枚舉法、埃…

    編程 2025-04-29
  • Python中讀入csv文件數據的方法用法介紹

    csv是一種常見的數據格式,通常用於存儲小型數據集。Python作為一種廣泛流行的編程語言,內置了許多操作csv文件的庫。本文將從多個方面詳細介紹Python讀入csv文件的方法。…

    編程 2025-04-29
  • 使用Vue實現前端AES加密並輸出為十六進位的方法

    在前端開發中,數據傳輸的安全性問題十分重要,其中一種保護數據安全的方式是加密。本文將會介紹如何使用Vue框架實現前端AES加密並將加密結果輸出為十六進位。 一、AES加密介紹 AE…

    編程 2025-04-29
  • Python學習筆記:去除字元串最後一個字元的方法

    本文將從多個方面詳細闡述如何通過Python去除字元串最後一個字元,包括使用切片、pop()、刪除、替換等方法來實現。 一、字元串切片 在Python中,可以通過字元串切片的方式來…

    編程 2025-04-29
  • 用法介紹Python集合update方法

    Python集合(set)update()方法是Python的一種集合操作方法,用於將多個集合合併為一個集合。本篇文章將從以下幾個方面進行詳細闡述: 一、參數的含義和用法 Pyth…

    編程 2025-04-29

發表回復

登錄後才能評論