Heim  >  Artikel  >  Backend-Entwicklung  >  Erfahren Sie, wie Sie mit der ob-Funktion statische HTML-Dateien ausgeben

Erfahren Sie, wie Sie mit der ob-Funktion statische HTML-Dateien ausgeben

巴扎黑
巴扎黑Original
2017-07-23 10:35:161587Durchsuche

So verwenden Sie die ob-Funktion zur Ausgabe statischer HTML-Dateien

1. Einführung in die ob-Funktion

1.1. Aktivieren Sie den Ausgabesteuerungspuffer

bool ob_start ([ callback $output_callback [, int $chunk_size [, bool $erase ]]] )
Diese Funktion öffnet den Ausgabepuffer. Wenn die Ausgabepufferung aktiviert ist, gibt das Skript keine Inhalte aus (außer http-Header), sondern der auszugebende Inhalt wird in einem internen Puffer gespeichert.
Referenz für Details:

1.2, ob_get_contents – Gibt den Inhalt der Ausgabe zurück buffer

string ob_get_contents (void)
Just get den Ausgabepufferbereich, löscht ihn jedoch nicht.
Weitere Informationen finden Sie unter:

1.3, ob_end_flush – den Inhalt des Ausgabepuffers leeren (senden) und den Puffer schließen

bool ob_end_flush ( void )
Diese Funktion sendet den Inhalt des Puffers der obersten Ebene (sofern darin Inhalt vorhanden ist) und schließt den Puffer. Wenn Sie den Inhalt des Puffers weiterverarbeiten möchten, müssen Sie ob_get_contents() vor ob_end_flush() aufrufen, da der Pufferinhalt nach dem Aufruf von ob_end_flush() verworfen wird.
Weitere Informationen finden Sie unter:

1.4, ob_flush – den Inhalt des Ausgabepuffers ausspülen (aussenden)

void ob_flush ( void )
Diese Funktion sendet den Inhalt von der Puffer (wenn Inhalt in Wörtern vorhanden ist). Wenn Sie den Inhalt des Puffers weiterverarbeiten möchten, müssen Sie ob_get_contents() vor ob_flush() aufrufen, da der Pufferinhalt nach dem Aufruf von ob_flush() verworfen wird.
Diese Funktion zerstört den Ausgabepuffer nicht, aber Funktionen wie ob_end_flush() zerstören den Puffer.
Einzelheiten finden Sie unter:

1.5, ob_get_clean – Holen Sie sich den Inhalt des aktuellen Puffers und löschen Sie den aktuellen Ausgabepuffer

Zeichenfolge ob_get_clean ( void )
Den Inhalt des aktuellen Puffers abrufen und den aktuellen Ausgabepuffer löschen.
ob_get_clean() führt im Wesentlichen ob_get_contents() und ob_end_clean() zusammen aus.
Einzelheiten finden Sie unter:

1.6, ob_get_flush – Leeren (senden) Sie den Pufferinhalt, geben Sie den Inhalt als Zeichenfolge zurück und schließen Sie die Ausgabe Puffer

string ob_get_flush ( void )
ob_get_flush() leert (sendet) den Inhalt des Puffers, gibt den Inhalt als String zurück und schließt den Ausgabepuffer.
Hinweis: Diese Funktion ähnelt ob_end_flush(), außer dass diese Funktion auch den Pufferinhalt in Stringform zurückgibt.
Einzelheiten finden Sie unter:

2. So verwenden Sie die Funktion ob() zum Erstellen eine statische HTML-Seite

2.1. Einfache Ausgabe-HTML-Datei

f0436bcb64f201c0311bc896cf8c0261
Hallo an index.html ausgeben

Suchen Sie index.html und geben Sie die Einstellungen normal aus Inhalt

2.2. Datenbankinformationen abrufen und HTML-Datei ausgeben

5797e7a0fc869621c8fb1158aa7e6fd7query($sql);
$arr = array();
while($re = $result->fetch(PDO::FETCH_ASSOC)){
$arr[] = $re;
}
//Schleifenausgabeinhalt in HTML-Datei
ob_start(); //Puffer öffnen
?>
462294fc6e3b42820615a6bcfc408a22
8b05045a5be5764f313ed5b9168a17e6
49099650ebdc5f3125501fa170048923
93f0f5c25f18dab9d176bd4f6de5d30e
1fc2df4564f5324148703df3b6ed50c1
b2386ffb911b14667cb8f0f91ea547a7HTML-Inhalt in Schleife ausgeben6e916e0f7d1e588d4f442bf645aedb2f
9c3bca370b5104690d9ef395f2c5f8d1
6c04bd5ca3fcae76e30b72ad730ca86d
f5d188ed2c074f8b944552db028f98a1
ae20bdd317918ca68efdc799512a9b39
a34de1251f0d9fe1e645927f19a896e8 🎜>b6c5a531a458a2e790c1fd6421739d1cidb90dd5946f0946207856a8a37f441edf
b6c5a531a458a2e790c1fd6421739d1cnameb90dd5946f0946207856a8a37f441edf
b6c5a531a458a2e790c1fd6421739d1cpwdb90dd5946f0946207856a8a37f441edf
fd273fcf5bcad3dfdad3c41bd81ad3e5
de7e5224d5886399476050cd39e4cf03
d0c001435a40f2d88397a6e322744fea $value) {
echo "a34de1251f0d9fe1e645927f19a896e8"
echo "< ; td>{$value['id']}b90dd5946f0946207856a8a37f441edf";
echo "b6c5a531a458a2e790c1fd6421739d1c{$value['name']}b90dd5946f0946207856a8a37f441edf";
echo "< ; td>{$value['pwd']}b90dd5946f0946207856a8a37f441edf";
echo "fd273fcf5bcad3dfdad3c41bd81ad3e5";
}
?>
ca745a59da05f784b8811374296574e1
f16b1740fad44fb09bfe928bcc527e08
36cc49f0c466276486e50c850b7e4956
73a6ac4ed44ffec12cee46588e518a5e
18e058d22e80daa8fe6ce1d9173ba738
Geben Sie das Ergebnis an index2.html aus

Es gibt viele Ausgabesteuerungsfunktionen, die ich zuerst vorstellen werde

2.3 Optimieren Sie die Lesemethode, um sicherzustellen, dass die angegebene Datei korrekt gelesen wird

<?php
	$fileName = &#39;index2.html&#39;;
	$re = file_exists($fileName);//判断文件是否存在
	$dValue = 0;if($re){
		$fileTime = filectime($fileName);//时间戳
		$dValue = time() -  $fileTime;//获取创建时间,文件缓存一般存在有效期}if(file_exists($fileName) && $dValue < 3600){
		$content = file_get_contents($fileName);
		echo $content;
		die;}else{if($re){
			unlink($fileName);//过去先删除,}
		require_once &#39;coon.php&#39;;
		$sql = "select * from name order by id;";
		$result = $link->query($sql);
		$arr = array();while($re = $result->fetch(PDO::FETCH_ASSOC)){ 
			$arr[] = $re;} 
		//循环输出内容到html文件
		ob_start(); //打开缓冲区  ?><!-- 下面是输出的内容 --><!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>循环输出的html内容</title></head>
<body>
	<table>
		<thead>
			<tr>
				<td>id</td><td>name</td>
				<td>pwd</td></tr>
		</thead><tbody><?php
				foreach ($arr as $key => $value) {
					echo "<tr>";

					echo "<td>{$value[&#39;id&#39;]}</td>";
					echo "<td>{$value[&#39;name&#39;]}</td>";
					echo "<td>{$value[&#39;pwd&#39;]}</td>";

					echo "</tr>";}?></tbody>
	</table></body>
</html><?php

$content = ob_get_contents();//得到当前缓冲区的内容ob_end_clean();//删除当前输出缓file_put_contents(&#39;index2.html&#39;,$content);//写入文件}?>
Bestimmen Sie zunächst, ob die Datei vorhanden ist, und Wenn vorhanden, ermitteln Sie die aktuelle Zeit. Der Zeitunterschied zwischen der Erstellungszeit wird verwendet, um zu bestimmen, ob die aktuelle Datei gültig ist.

3. Zusammenfassung

Es muss nicht auf dem Server ausgeführt werden, der Server gibt die Datei einfach an den Browser zurück und führt keine Vorgänge aus ist klein. Der Zugriff ist schnell.

2. Sicherheit, keine dynamische Website-Entwicklungssprache ist absolut sicher und statische Webseiten weisen keine Lücken im Programm auf, außer dass der Server gehackt wird

Das obige ist der detaillierte Inhalt vonErfahren Sie, wie Sie mit der ob-Funktion statische HTML-Dateien ausgeben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn