Heim  >  Artikel  >  Backend-Entwicklung  >  So machen Sie HTML-Seiten mit PHP statisch

So machen Sie HTML-Seiten mit PHP statisch

墨辰丷
墨辰丷Original
2018-06-06 14:02:231497Durchsuche

In diesem Artikel wird hauptsächlich die Methode zur Statik von HTML-Seiten in PHP vorgestellt. Ich hoffe, dass er für alle hilfreich ist.

Im Allgemeinen erfolgt die Optimierung unter folgenden Aspekten

  • Statisierung dynamischer Seiten

  • Datenbank optimieren

  • Lastausgleich verwenden

  • Cache verwenden

  • CDN zur Beschleunigung verwenden

Viele Websites müssen jetzt statisch verarbeitet werden, wenn sie erstellt werden. Warum müssen Websites statisch verarbeitet werden? Wir alle wissen, dass eine rein statische Website eine Website ist, bei der alle Webseiten unabhängige HTML-Seiten sind. Wenn wir sie besuchen, können wir uns die Zugriffsgeschwindigkeit vorstellen, was für die Suche sehr nützlich ist ist zudem sehr motorfreundlich.
Wie wird eine rein statische Website auf der Website umgesetzt?
Reine statische Produktionstechnologie erfordert zunächst das Zusammenfassen der Seiten der Website, das Unterteilen in mehrere Stile und das anschließende Umwandeln dieser Seiten in Vorlagen. Beim Generieren müssen Sie zuerst die Quelldateien lesen und dann generieren Unabhängige Seitendateien, die mit .html enden, erfordern rein statische Websites. Tatsächlich ist der erforderliche Speicherplatz jedoch nicht viel größer, insbesondere für Websites kleiner und mittlerer Unternehmen. Technisch gesehen ist es für große Websites schwierig, eine reine Statik zu erreichen der gesamten Site und die Generierungszeit ist zu lang. Allerdings nutzen kleine und mittlere Websites immer noch rein statische Vergleiche, was viele Vorteile mit sich bringt.

Und wie werden dynamische Websites statisch verarbeitet? Seitenstatisierung bezieht sich auf die Umwandlung dynamischer Seiten in statische HTML/HTM-Seiten. Dynamische Seiten werden im Allgemeinen in ASP, PHP, JSP, .net und anderen Programmiersprachen geschrieben, die sehr einfach zu verwalten sind. Beim Zugriff auf eine Webseite muss das Programm diese jedoch zuerst verarbeiten, sodass die Zugriffsgeschwindigkeit relativ langsam ist. Statische Seiten sind schnell zugänglich, aber schwierig zu verwalten. Dann kann die statische Seite der dynamischen Seite die Vorteile der beiden Seiten vereinen.

Welche Vorteile bringt die statische Verarbeitung für die Website?

  • Statische Seiten werden eher von Suchmaschinen indiziert als dynamische Seiten.

  • Der Zugriff auf statische Seiten erfordert keine Programmverarbeitung, sodass die Ausführungsgeschwindigkeit verbessert werden kann.

  • Reduzieren Sie die Belastung des Servers.

  • HTML-Seiten sind nicht von ASP-bezogenen Schwachstellen betroffen.

Statisch verarbeitete Websites sind sicherer als Websites ohne statische Verarbeitung, da statische Websites nicht die erste Wahl für Hackerangriffe sind, da Hacker nichts über Ihr Backend wissen System ist es für Hacker schwierig, von den statischen Seiten im Frontend aus anzugreifen. Gleichzeitig weist es auch ein gewisses Maß an Stabilität auf. Wenn beispielsweise ein Problem mit der Datenbank oder dem Website-Programm vorliegt, wird die statisch verarbeitete Seite nicht beeinträchtigt und die Seite kann nicht geöffnet werden auf die Auswirkungen des Programms oder der Daten.

Suchmaschinen-Spider-Programme bevorzugen solche URLs, was auch die Arbeitsbelastung von Spider-Programmen verringern kann. Obwohl einige Leute denken, dass Suchmaschinen jetzt vollständig in der Lage sind, dynamische URLs zu crawlen, wird dies dennoch empfohlen Sie können es statisch machen. Versuchen Sie, daraus eine statische URL zu machen.

Jetzt werden wir hauptsächlich über das Konzept der Seitenstatikierung sprechen. Ich hoffe, es wird Ihnen hilfreich sein!
Was ist HTML-Statisierung:

Es wird oft gesagt, dass die Seitenstatik in zwei Typen unterteilt wird, einer ist Pseudostatisches , das heißt, URL-Umschreiben, eines ist echtes statisches .
Bei der PHP-Website-Entwicklung muss die Website für die Zwecke der Website-Werbung und SEO ganz oder teilweise statisch sein. Es gibt viele Möglichkeiten, statische HTML-Seiten in PHP zu generieren, z. B. die Verwendung von PHP-Vorlagen, Caching usw . um eine Seitenstatik zu erreichen.
Ein einfaches Verständnis von PHP-Statik besteht darin, die von der Website generierten Seiten den Besuchern in Form von statischem PHP-Static anzuzeigen, das in reines statisches und pseudo-statisches HTML unterteilt ist. statisch. Der Unterschied liegt im Verarbeitungsmechanismus von PHP, der statische Seiten generiert.
PHP pseudostatisch: Verwenden Sie Apache mod_rewrite, um das Umschreiben von URLs zu implementieren.

Vorteile von statischem HTML:

1. Reduzieren Sie die Belastung des Servers und surfen Sie im Internet, ohne die Systemdatenbank aufzurufen.
2. Es ist förderlich für die Suchmaschinenoptimierung (SEO) und Google wird der Einbeziehung statischer Seiten Priorität einräumen, die nicht nur schnell eingebunden werden, sondern auch alle Seiten einbeziehen
3. Beschleunigen Sie die Öffnungsgeschwindigkeit der Seite. Statische Seiten müssen nicht mit der Datenbank verbunden werden. Die Öffnungsgeschwindigkeit ist im Vergleich zu dynamischen Seiten erheblich verbessert Die Website ist sicherer, HTML-Seiten sind nicht von Schwachstellen im Zusammenhang mit PHP-Programmen betroffen. Schauen Sie sich größere Websites an. Grundsätzlich handelt es sich bei allen um statische Seiten, die Angriffe reduzieren und SQL-Injection verhindern können. Wenn ein Datenbankfehler auftritt, wird der normale Zugriff auf die Website nicht beeinträchtigt.
5. Wenn ein Datenbankfehler auftritt, hat dies keine Auswirkungen auf den normalen Zugriff auf die Website. Das Wichtigste ist, dass es die Zugriffsgeschwindigkeit erhöhen und die Belastung des Servers verringern kann. Wenn die Datenmenge Zehntausende, Hunderttausende oder mehr beträgt, wissen Sie, welches schneller ist leicht von Suchmaschinen gefunden zu werden. Obwohl das Generieren von HTML-Artikeln mühsamer und komplizierter ist, lohnen sich diese Opfer dennoch, um die Suche bequemer, schneller und sicherer zu machen.
Erläuterung von Strategien und Beispielen zum Erreichen von statischem HTML:

Grundlegende Methode
file_put_contents()-FunktionVerwendung Der integrierte Caching-Mechanismus von PHP realisiert die Seitenstatisierung – Ausgabepufferung.

Methode 1: Verwenden Sie PHP-Vorlagen, um statische Seiten zu generieren

Es ist sehr praktisch, eine Statik von PHP-Vorlagen zu erreichen, z. B. die Installation und Verwendung von PHP Smarty, um eine statische Website zu erreichen. Bei der Verwendung von Smarty kann die Seite auch statisch gemacht werden. Lassen Sie uns kurz über die übliche dynamische Lesemethode bei der Verwendung von Smarty sprechen.

Im Allgemeinen in diese Schritte unterteilt:

1. Übergeben Sie einen Parameter (ID) über die URL.
Dann ändern Sie die Anzeige als nach Erhalt des Dateninhalts erforderlich;
4. Zuweisen der anzuzeigenden Daten;5. Für den Smarty-Statisierungsprozess müssen nur zwei Schritte zum oben genannten Prozess hinzugefügt werden.
Zuerst: Verwenden Sie ob_start() vor 1, um den Puffer zu öffnen.
Zweitens: Verwenden Sie nach 5 ob_get_contents(), um den nicht ausgegebenen Speicherinhalt abzurufen, und verwenden Sie dann fwrite(), um den Inhalt in die Ziel-HTML-Datei zu schreiben.

Gemäß der obigen Beschreibung wird dieser Prozess im Frontdesk der Website implementiert, während die Inhaltsverwaltung (Hinzufügen, Ändern, Löschen) normalerweise im Hintergrund durchgeführt wird, um den oben genannten Prozess effektiv nutzen zu können , können Sie einen kleinen Trick verwenden, nämlich Header(). Der spezifische Vorgang ist wie folgt: Springen Sie nach dem Hinzufügen und Ändern des Programms mit Header () zum Lesen in den Vordergrund, damit die Seite HTMLisiert werden kann, und springen Sie nach dem Generieren von HTML zurück zur Hintergrundverwaltungsseite Prozesse sind unsichtbar.



Methode 2: Verwenden Sie Funktionen zum Lesen und Schreiben von PHP-Dateien, um statische Seiten zu generieren

<? 
$out1 = "<html><head><title>PHP网站静态化教程</title></head><body>欢迎访问PHP网站开发教程网www.leapsoul.cn,本文主要介绍PHP网站页面静态化的方法</body></html>"; 
$fp = fopen("leapsoulcn.html","w"); 
if(!$fp) 
{ 
echo "System Error"; 
exit(); 
} 
else 
{ 
fwrite($fp,$out1); 
fclose($fp); 
echo "Success"; 
} 
?>
Methode 3: Verwenden Sie PHP Ausgabesteuerungsfunktion (Output Control)/Ob-Cache-Mechanismus generiert statische Seiten

Ausgabesteuerungsfunktion (Output Control) verwendet und steuert den Cache, um statische HTML-Seiten zu generieren, und verwendet außerdem Funktionen zum Lesen und Schreiben von PHP-Dateien.

Zum Beispiel lautet die Adresse der dynamischen Detailseite eines Produkts: http://xxx.com?goods.php?gid=112Hier lesen wir also den Inhalt der Detailseite basierend auf dieser Adresse und Speichern Sie es dann als statische Seite. Wenn das nächste Mal jemand die dynamische Adresse dieser Produktdetailseite besucht, können wir die entsprechende generierte statische Inhaltsdatei direkt ausgeben. PHP generiert Beispielcode für eine statische Seite 1

<? 
ob_start(); 
echo "<html>". 
"<head>". 
"<title>PHP网站静态化教程</title>". 
"</head>". 
"<body>欢迎访问脚本之家,本文主要介绍PHP网站页面静态化的方法</body>". 
"</html>"; 
$out1 = ob_get_contents(); 
ob_end_clean(); 
$fp = fopen("leapsoulcn.html","w"); 
if(!$fp) 
{ 
echo "System Error"; 
exit(); 
} 
else 
{ 
fwrite($fp,$out1); 
fclose($fp); 
echo "Success"; 
} 
?>


PHP generiert Beispielcode für eine statische Seite 2
<?php 
$gid = $_GET[&#39;gid&#39;]+0;//商品id 
$goods_statis_file = "goods_file_".$gid.".html";//对应静态页文件 
$expr = 3600*24*10;//静态文件有效期,十天 
if(file_exists($goods_statis_file)){ 
 $file_ctime =filectime($goods_statis_file);//文件创建时间 
 if($file_ctime+$expr-->time()){//如果没过期 
  echo file_get_contents($goods_statis_file);//输出静态文件内容 
  exit; 
 }else{//如果已过期 
  unlink($goods_statis_file);//删除过期的静态页文件 
  ob_start(); 
 
  //从数据库读取数据,并赋值给相关变量 
 
  //include ("xxx.html");//加载对应的商品详情页模板 
 
  $content = ob_get_contents();//把详情页内容赋值给$content变量 
  file_put_contents($goods_statis_file,$content);//写入内容到对应静态文件中 
  ob_end_flush();//输出商品详情页信息 
 } 
}else{ 
 ob_start(); 
 
 //从数据库读取数据,并赋值给相关变量 
 
 //include ("xxx.html");//加载对应的商品详情页模板 
 
 $content = ob_get_contents();//把详情页内容赋值给$content变量 
 file_put_contents($goods_statis_file,$content);//写入内容到对应静态文件中 
 ob_end_flush();//输出商品详情页信息 
 
} 
 
?>

Wir wissen, wie es geht Verwenden Sie PHP. Für die Website-Entwicklung werden die Ausführungsergebnisse im Allgemeinen direkt an den Browser ausgegeben. Um PHP zum Generieren statischer Seiten zu verwenden, müssen Sie die Ausgabesteuerungsfunktion verwenden, um den Cache-Bereich zu steuern und den Inhalt des Cache-Bereichs abzurufen , und geben Sie es dann in eine statische HTML-Seitendatei aus, um eine statische Website-Änderung zu erreichen.

PHP生成静态页面的思路为:首先开启缓存,然后输出了HTML内容(你也可以通过include将HTML内容以文件形式包含进来),之后获取缓存中的内容,清空缓存后通过PHP文件读写函数将缓存内容写入到静态HTML页面文件中。
获得输出的缓存内容以生成静态HTML页面的过程需要使用三个函数:ob_start()、ob_get_contents()、ob_end_clean()。
 
知识点:
1、ob_start函数一般主要是用来开启缓存,注意使用ob_start之前不能有任何输出,如空格、字符等。
2、ob_get_contents函数主要用来获取缓存中的内容以字符串形式返回,注意此函数必须在ob_end_clean函数之前调用,否则获取不到缓存内容。
3、ob_end_clean函数主要是清空缓存中的内容并关闭缓存,成功则返回True,失败则返回False
 方法4:使用nosql从内存中读取内容(其实这个已经不算静态化了而是缓存);以memcache为例:

<?php 
$gid = $_GET[&#39;gid&#39;]+0;//商品id 
$goods_statis_content = "goods_content_".$gid;//对应键 
$expr = 3600*24*10;//有效期,十天 
$mem = new Memcache; 
$mem--->connect(&#39;memcache_host&#39;, 11211); 
$mem_goods_content = $mem->get($goods_statis_content);  
if($mem_goods_content){ 
 echo $mem_goods_content; 
}else{ 
 ob_start(); 
 
 //从数据库读取数据,并赋值给相关变量 
 
 //include ("xxx.html");//加载对应的商品详情页模板 
 
 $content = ob_get_contents();//把详情页内容赋值给$content变量 
 $mem->add($goods_statis_content,$content, false, $expr); 
 ob_end_flush();//输出商品详情页信息 
 
} 
 
?>

 memcached是键值一一对应,key默认最大不能超过128个字节,value默认大小是1M,因此1M大小满足大多数网页大小的存储。

总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。

相关推荐:

PHP闭包函数的含义

PHP中socket如何发送HTTP请求

PHP如何安装pear扩展及解压技巧

Das obige ist der detaillierte Inhalt vonSo machen Sie HTML-Seiten mit PHP statisch. 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