Heim >Backend-Entwicklung >PHP-Tutorial >So generieren Sie statische Webseiten mit PHP

So generieren Sie statische Webseiten mit PHP

巴扎黑
巴扎黑Original
2016-12-07 13:40:051473Durchsuche

1. PHP-Skripte und dynamische Seiten.

PHP-Skript ist ein serverseitiges Skriptprogramm, das durch Einbettung und andere Methoden mit HTML-Dateien gemischt werden kann. Es kann auch Benutzeranforderungen in Form von Klassen, Funktionskapselungen usw. in Form von Vorlagen verarbeiten . Auf die eine oder andere Weise sind die Grundlagen dies. Der Client stellt eine Anfrage für eine bestimmte Seite. -----> Der WEB-Server führt das entsprechende Skript zur Verarbeitung ein. -----> Das Skript wird in den angegebenen PHP-Parser geladen vom Server Das Skript wird vom Browser analysiert, um ein HTML-Sprachformular zu bilden ----> Die analysierte HTML-Anweisung wird in Form eines Pakets an den Browser zurückgesendet. Daraus ist nicht schwer zu erkennen, dass PHP nach dem Senden der Seite an den Browser nicht mehr existiert und in HTML-Anweisungen konvertiert und analysiert wurde. Bei der Client-Anfrage handelt es sich tatsächlich um eine dynamische Datei. PHP analysiert sie in die entsprechende Seite und sendet sie dann an den Browser zurück. Diese Art der Seitenbehandlung wird als „dynamische Seiten“ bezeichnet.

Zweite, statische Seite.

Statische Seiten beziehen sich auf Seiten, die auf der Serverseite vorhanden sind und nur HTML und JS, CSS und andere clientseitige Skripte enthalten. Die Art und Weise, wie damit umgegangen wird, ist. Der Client stellt eine Anfrage für eine bestimmte Seite----> Der WEB-Server bestätigt und lädt eine bestimmte Seite----> Der WEB-Server gibt die Seite in Form eines Pakets zurück. Aus diesem Prozess können wir die dynamischen Seiten vergleichen und sehen. Dynamische Seiten müssen vom PHP-Parser des WEB-Servers analysiert werden und müssen normalerweise eine Verbindung zur Datenbank herstellen und Datenbankzugriffsvorgänge ausführen, bevor sie ein HTML-Sprachinformationspaket bilden können, während statische Seiten nicht analysiert oder verbunden werden müssen Die Datenbank kann direkt gesendet werden, wodurch der Serverdruck erheblich verringert, die Serverlastkapazität verbessert und die Seitenöffnungsgeschwindigkeit sowie die allgemeine Website-Öffnungsgeschwindigkeit erheblich verbessert werden können. Der Nachteil besteht jedoch darin, dass die Anfrage nicht dynamisch verarbeitet werden kann und die Datei tatsächlich auf dem Server vorhanden sein muss.

3. Vorlagen und Vorlagenanalyse.

Die Vorlage wurde noch nicht mit Inhalts-HTML-Dateien gefüllt. Zum Beispiel:

temp.html



🎜>
Dies sind die Vorlagen einer { Datei }-Datei



templetest.php

 
 $title = "http://siyizhu.com test template"

 $file = "TwoMax Inter test template,< ;br>author:Matrix@Two_Max";

 $fp = fopen ("temp.html","r"> $content = fread ($fp,filesize ("temp .html"));

$content = str_replace ("{ file }",$file,$content > $content = str_replace (" { title }",$title, $content);

echo $content;

?>

Template-Parsing-Verarbeitung, d. h. Füllen (Inhalt) in die Vorlage mit den Ergebnissen, die nach dem Parsen und Verarbeiten des PHP-Skripts erhalten wurden. Normalerweise mit Hilfe von Template-Klassen. Derzeit gehören zu den beliebtesten Parsing-Klassen für Vorlagen phplib, smarty, fastsmarty und so weiter. Das Prinzip der Template-Parsing-Verarbeitung ist normalerweise das Ersetzen. Es gibt auch einige Programmierer, die es gewohnt sind, Beurteilungen, Schleifen und andere Verarbeitungen in Vorlagendateien einzufügen und diese mit Parsing-Klassen zu verarbeiten. Die typische Anwendung ist das Blockkonzept, bei dem es sich einfach um eine Schleifenverarbeitung handelt. Das PHP-Skript gibt die Anzahl der Schleifen, die Art der Schleife usw. an, und dann implementiert die Template-Parsing-Klasse diese Vorgänge.

Okay, nachdem wir die Vor- und Nachteile von statischen und dynamischen Seiten verglichen haben, sprechen wir nun darüber, wie man PHP zum Generieren statischer Dateien verwendet.

Das Generieren statischer Seiten durch PHP bezieht sich nicht auf das dynamische Parsen und Ausgeben von HTML-Seiten durch PHP, sondern auf die Verwendung von PHP zum Erstellen von HTML-Seiten. Aufgrund der nicht beschreibbaren Natur von HTML muss gleichzeitig der von uns erstellte HTML-Code gelöscht und neu generiert werden, wenn er geändert wird. (Natürlich können Sie auch reguläre Regeln verwenden, um es zu ändern, aber ich persönlich denke, dass es schneller ist als das Löschen und Neugenerieren, was den Gewinn nicht wert ist.)

Zurück zum Geschäft. PHP-Fans, die PHP-Dateioperationsfunktionen verwendet haben, wissen, dass es in PHP eine Dateioperationsfunktion fopen gibt, die eine Datei öffnet. Wenn die Datei nicht vorhanden ist, versuchen Sie, sie zu erstellen. Dies ist die theoretische Grundlage, auf der PHP zum Erstellen von HTML-Dateien verwendet werden kann. Solange der Ordner, in dem HTML-Dateien gespeichert werden, über Schreibberechtigungen verfügt (z. B. Berechtigungsdefinition 0777), kann die Datei erstellt werden. (Für UNIX-Systeme müssen Win-Systeme nicht berücksichtigt werden.) Nehmen wir das obige Beispiel als Beispiel, wenn wir den letzten Satz ändern und angeben, dass eine statische Datei mit dem Namen test.html im Testverzeichnis generiert werden soll:

 < ?php

 $title = "http://siyizhu.com test template";

 $file = "TwoMax Inter test template,
author: Matrix@Two_Max ";

$fp = fopen ("temp.html","r");

$content = fread ($fp,filesize ("temp.html"));

$content = str_replace ("{file}",$file,$content);$content = str_replace ("{title}",$title,$content);

 // echo $content;

 $filename = "test/test.html";
 $handle = fopen ($filename,"w"); //Öffnen Sie den Dateizeiger und erstellen Sie die Datei

 /*

  Überprüfen Sie, ob die Datei erstellt und beschreibbar ist

;

 }

 if (!fwrite ($handle,$content)){ //Informationen in die Datei schreiben

die ("Datei generieren" .$filename. „Fehlgeschlagen!“); Erfolg!") ;

 ?>

Referenz für Lösungen für häufige Probleme in praktischen Anwendungen:

1. Artikellistenprobleme:

Felder erstellen und zeichnet den Dateinamen in der Datenbank auf. Bei jeder Generierung einer Datei wird der automatisch generierte Dateiname in der Datenbank gespeichert. Bei empfohlenen Artikeln verweisen Sie einfach auf die Seite im angegebenen Ordner, in der die statischen Dateien gespeichert sind. Verwenden Sie PHP-Operationen, um die Artikelliste zu verarbeiten, als Zeichenfolge zu speichern und diese Zeichenfolge beim Generieren der Seite zu ersetzen. Fügen Sie beispielsweise die Markierung {articletable} zur Tabelle hinzu, in der die Artikelliste auf der Seite platziert wird, und in der PHP-Verarbeitungsdatei:

 
 $title = "http ://siyizhu.com Testvorlage";

$file = "TwoMax Inter test template,
Autor: Matrix@Two_Max";

$fp = fopen ("temp. html","r" );

$content = fread ($fp,filesize ("temp.html"));

$content = str_replace ("{file}",$ file,$content);

 $content = str_replace ("{title}",$title,$content);

 //Starte die Generierung einer Liste

 $list = '';

$sql = "select id,title,filename from Article";

$query = mysql_query ($sql);

while ($result = mysql_fetch_array ($query)){

 $list .= ''.$result['title']. '

 }

 $content .= str_replace ("{articletable}",$list,$content); //Ende der Generierung der Liste

// echo $content;

$filename = "test/test.html"

$handle = fopen ($filename," w"); // Dateizeiger öffnen, Datei erstellen

  /*

Prüfen, ob die Datei erstellt und beschreibbar ist

*/

if ( !is_writable ($filename)) {

 die („Datei: „.$filename.“ kann nicht geschrieben werden, bitte überprüfen Sie ihre Eigenschaften und versuchen Sie es erneut!“);

 }

 if (!fwrite ( $handle,$content)){ //Informationen in die Datei schreiben

 die ("Datei generieren".$filename."Fehlgeschlagen!"); > }

fclose ($handle); //Close-Zeiger

die ("Create file".$filename."Success!"); 🎜>
 Zweitens, Paging-Frage.

Wenn wir eine Paginierung angeben, gibt es 20 Artikel pro Seite. Nach der Datenbankabfrage gibt es 45 Artikel in einer bestimmten Unterkanalliste. Zuerst erhalten wir die folgenden Parameter durch Abfrage: 1. Gesamtzahl der Seiten 2. Anzahl der Artikel pro Seite. Der zweite Schritt, für ($i = 0; $i < allpages; $i++), werden die Erfassung, Analyse und Artikelgenerierung von Seitenelementen in dieser Schleife ausgeführt. Der Unterschied besteht darin, dass der Satz die ("Create file".$filename."Success!"; entfernt und in der Anzeige nach der Schleife platziert wird, da diese Anweisung die Programmausführung abbricht. Beispiel:

 < ?php

 $fp = fopen ("temp.html","r");

 $content = fread ($fp,filesize ("temp.html")); >
$onepage = '20';

$sql = "select id from Article wherechannel='$channelid'"; 🎜>
$num = mysql_num_rows ($query);

$allpages = ceil ($num / $onepage);

for ($i = 0;$i<$allpages ; $ i++){

if ($i == 0){

$indexpath = "index.html" } else {

$indexpath = "index_".$i.html";

 }

$start = $i * $onepage;

$list = ''; >
$sql_for_page = "select name,filename,title from Article where channel='$channelid' limit $start,$onepage"; $result = $query_for_page){

 $list .= '
';

 }

$content = str_replace ("{articletable}",$list,$indexpath)){

 @ unlink ($indexpath); //Wenn die Datei bereits existiert, löschen Sie sie

 }

 $handle = fopen ($indexpath,"w" ); //Öffnen Sie den Dateizeiger und erstellen Sie ihn die Datei

 /*

Überprüfen Sie, ob die Datei erstellt und beschreibbar ist

($indexpath)){

echo "File: ".$indexpath .“ kann nicht geschrieben werden, bitte überprüfen Sie seine Eigenschaften und versuchen Sie es erneut! Informationen zur Datei

 echo „Generate file“.$indexpath.“Failed!“ //Ändern zu echo

 }

fclose ($handle); Schließzeiger

 }

fclose ($fp);

die ("Generate Die Auslagerungsdatei ist abgeschlossen. Wenn die Generierung unvollständig ist, überprüfen Sie bitte das Dateiberechtigungssystem und regenerieren!"); , Paging-Inhaltsverweisen usw. können der Seite nach Bedarf hinzugefügt werden.