談PHP生成靜態(tài)頁(yè)面
Jun 08, 2016 pm 05:33 PM一、引 言
在速度上,靜態(tài)頁(yè)面要比動(dòng)態(tài)頁(yè)面的比方php快很多,這是毫無(wú)疑問(wèn)的,但是由于靜態(tài)頁(yè)面的靈活性較差,假如不借助數(shù)據(jù)庫(kù)或其他的設(shè)備保存相關(guān)信息的話,整體的治理上比較繁瑣,比方修改編輯.比方閱讀權(quán)限限制等,但是,對(duì)應(yīng)一些我們經(jīng)常頻頻使用的文件,比方說(shuō),開(kāi)發(fā)的新聞發(fā)布系統(tǒng),我們不希望很多用戶都讀取數(shù)據(jù)庫(kù)才顯示結(jié)果,這樣一方面消耗了服務(wù)器的資源,另一方面占去了瀏覽者大量可貴的響應(yīng)時(shí)間,所有,有了"靜態(tài)頁(yè)面話"的做法,當(dāng)前很多網(wǎng)站都采用這種技術(shù),一般都是由治理后臺(tái)控制,或者生成html直接顯示,或者xhtml用css控制顯示,或者生成xml用xslt顯示,這些技術(shù)都不是難的,在這里我就淺顯的說(shuō)說(shuō)生成html的方法.
二、預(yù)備知識(shí)
模板技術(shù):
緩存技術(shù):
有些信息比方經(jīng)常不變的,但是還是能變的信息放在緩存中以加快顯示速度,這是很有價(jià)值的,所謂的緩存,通俗的理解就是一些保存在服務(wù)器端的共用信息.它是于服務(wù)器同生死的,我們?cè)诒4婢彺娴臅r(shí)候可以指定下次更新的時(shí)間的判定,比方要在5分鐘更新一次,可以記錄上次更新的時(shí)間,和當(dāng)前時(shí)間比較,假如大于 5 分鐘 ,讀取數(shù)據(jù)庫(kù),更新?lián)Q成,否則直接讀取緩存數(shù)據(jù),當(dāng)然,緩存需要客戶端用戶激活的,只需一次.
ob_start()函數(shù):打開(kāi)輸出緩沖區(qū).
函數(shù)格式 void ob_start(void)
說(shuō)明:當(dāng)緩沖區(qū)激活時(shí),所有來(lái)自PHP程序的非文件頭信息均不會(huì)發(fā)送,而是保存在內(nèi)部緩沖區(qū)。為了輸出緩沖區(qū)的內(nèi)容,可以使用ob_end_flush()或flush()輸出緩沖區(qū)的內(nèi)容。
Flush:刷新緩沖區(qū)的內(nèi)容,輸出。
函數(shù)格式:flush()
說(shuō)明:這個(gè)函數(shù)經(jīng)常使用,效率很高。
ob_get_contents :返回內(nèi)部緩沖區(qū)的內(nèi)容。
函數(shù)格式:string ob_get_contents(void)
說(shuō)明:這個(gè)函數(shù)會(huì)返回當(dāng)前緩沖區(qū)中的內(nèi)容,假如輸出緩沖區(qū)沒(méi)有激活,則返回 FALSE.
ob_get_length:返回內(nèi)部緩沖區(qū)的長(zhǎng)度。
函數(shù)格式:int ob_get_length(void)
說(shuō)明:這個(gè)函數(shù)會(huì)返回當(dāng)前緩沖區(qū)中的長(zhǎng)度;和ob_get_contents一樣,假如輸出緩沖區(qū)沒(méi)有激活,則返回 FALSE.
ob_end_clean:刪除內(nèi)部緩沖區(qū)的內(nèi)容,并且關(guān)閉內(nèi)部緩沖區(qū)
函數(shù)格式:void ob_end_clean(void)
說(shuō)明:這個(gè)函數(shù)不會(huì)輸出內(nèi)部緩沖區(qū)的內(nèi)容而是把它刪除
ob_end_flush:發(fā)送內(nèi)部緩沖區(qū)的內(nèi)容到瀏覽器,并且關(guān)閉輸出緩沖區(qū)
函數(shù)格式:void ob_end_flush(void)
說(shuō)明:這個(gè)函數(shù)發(fā)送輸出緩沖區(qū)的內(nèi)容(假如有的話)
ob_implicit_flush:打開(kāi)或關(guān)閉絕對(duì)刷新
函數(shù)格式:void ob_implicit_flush ([int flag])
說(shuō)明:默認(rèn)為關(guān)閉緩沖區(qū),打開(kāi)絕對(duì)輸出后,每個(gè)腳本輸出都直接發(fā)送到瀏覽器,不再需要調(diào)用 flush()
文件寫(xiě)入:
int fwrite ( resource handle, string string [, int length] )
fwrite() 把 string 的內(nèi)容寫(xiě)入 文件指針 handle 處。 假如指定了 length,當(dāng)寫(xiě)入了 length 個(gè)字節(jié)或者寫(xiě)完了 string 以后,寫(xiě)入就會(huì)停止,視乎先碰到哪種情況。
fwrite() 返回寫(xiě)入的字符數(shù),出現(xiàn)錯(cuò)誤時(shí)則返回 FALSE 。
相關(guān)參考官方網(wǎng)站: 文件參考
三、解決方案
思路:開(kāi)啟 ob_start緩沖,當(dāng)已經(jīng)調(diào)出數(shù)據(jù)的時(shí)候獲取 ob_get_contents,然后生成靜態(tài)頁(yè),ob_end_clean清除緩沖.ok,就這么來(lái),來(lái)看一個(gè)例子(php mysql的結(jié)合):
創(chuàng)建數(shù)據(jù)庫(kù):
CREATE TABLE `bihtml` (
`id` int(11) NOT NULL auto_increment,
`szdtitle` varchar(16) NOT NULL,
`szdcontent` text NOT NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM;

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

In Java bedeutet void ?leer“, also ?gibt nichts zurück“. Wenn die Methode deklariert wird, bedeutet dies, dass die Methode keinen Rückgabewert hat. ?void entspricht einer Wrapper-Klasse ?java.lang.Void“. Die Void-Klasse wird mit final ge?ndert und ist eine nicht instanziierbare Platzhalterklasse, die zum Speichern eines Verweises auf das Klassenobjekt verwendet wird, das das Java-Schlüsselwort void darstellt.

Konvertieren Sie grundlegende Datentypen mit der Java-Funktion String.valueOf() in Strings. Wenn wir in der Java-Entwicklung grundlegende Datentypen in Strings konvertieren müssen, ist eine g?ngige Methode die Verwendung der Funktion valueOf() der String-Klasse. Diese Funktion kann Parameter grundlegender Datentypen akzeptieren und die entsprechende Zeichenfolgendarstellung zurückgeben. In diesem Artikel untersuchen wir, wie die Funktion String.valueOf() für grundlegende Datentypkonvertierungen verwendet wird, und stellen einige Codebeispiele dafür bereit

Methode zum Konvertieren eines char-Arrays in einen String: Dies kann durch Zuweisung erreicht werden. Verwenden Sie die Syntax {char a[]=" abc d\0efg ";string s=a;}, damit das char-Array dem String direkt einen Wert zuweisen und ausführen kann Der Code zum Abschlie?en der Konvertierung.

Ersetzen Sie Zeichen (Strings) in einem String mit der Java-Funktion String.replace(). In Java sind Strings unver?nderliche Objekte, was bedeutet, dass der Wert eines String-Objekts nach der Erstellung nicht mehr ge?ndert werden kann. Es kann jedoch vorkommen, dass Sie bestimmte Zeichen oder Zeichenfolgen in einer Zeichenfolge ersetzen müssen. Zu diesem Zeitpunkt k?nnen wir die Methode replace () in der String-Klasse von Java verwenden, um das Ersetzen von Zeichenfolgen zu implementieren. Die Methode replace() der Klasse String hat zwei Typen:

Verwenden Sie die String.length()-Funktion von Java, um die L?nge einer Zeichenfolge zu ermitteln. In der Java-Programmierung ist die Zeichenfolge ein sehr h?ufiger Datentyp. Wir müssen h?ufig die L?nge einer Zeichenfolge ermitteln, dh die Anzahl der Zeichen in der Zeichenfolge. In Java k?nnen wir die Funktion length() der String-Klasse verwenden, um die L?nge eines Strings zu ermitteln. Hier ist ein einfacher Beispielcode: publicclassStringLengthExample{publ

void ist in C ein spezielles Schlüsselwort, das zur Darstellung eines leeren Typs verwendet wird, also Daten ohne einen bestimmten Typ. In der C-Sprache wird void normalerweise in den folgenden drei Aspekten verwendet. Der Rückgabetyp der Funktion ist void. In der Sprache C k?nnen Funktionen unterschiedliche Rückgabetypen haben, z. B. int, float, char usw. Wenn die Funktion jedoch keinen Wert zurückgibt, kann der Rückgabetyp auf void gesetzt werden. Dies bedeutet, dass die Funktion nach Ausführung keinen bestimmten Wert zurückgibt. Zum Beispiel: voidhelloWorld()

In PHP bedeutet der Rückgabewert vom Typ ?void“, dass die Funktion keinen Wert zurückgibt, und wird normalerweise für Vorg?nge wie das Aktualisieren von Datens?tzen verwendet, die keinen Rückgabewert erfordern. Verwenden Sie das Schlüsselwort void, wenn Sie eine void-Funktion deklarieren. Beim Aufruf einer void-Funktion darf das Ergebnis keiner Variablen zugewiesen werden. Praktischer Fall: Der Rückgabewert vom Typ ?void“ kann zum Aktualisieren von Datenbankdatens?tzen verwendet werden, ohne dass Informationen zurückgegeben werden.

Was bedeutet javascript:void(0)? Welche L?sungen gibt es für dieses Problem? Wenn wir im Internet surfen, sto?en wir manchmal auf einige Links, die nach dem Klicken nicht reagieren, sondern als ?javascript:void(0)“ in der Adressleiste des Browsers angezeigt werden. Diese Frage k?nnte einige Webbesucher verwirren, da sie nicht wissen, was die Fehlermeldung, die im wahrsten Sinne des Wortes wie JavaScript-Code aussieht, bedeutet. Also, lasst uns das gemeinsam auspacken
