Heim php教程 php手册 简单的页面缓冲技术(二)

简单的页面缓冲技术(二)

Jun 21, 2016 am 09:10 AM
content filemtime quot tmpfile

页面

我的具体实现的例子
  为了帮助大家有个感性认识,这里我给出在我的主页上实现的基于文件处理的方法。只有主要的处理代码,不完整。

1 $tmpfile="../tmp/".basename($REQUEST_URI);
2 $tmpfile=str_replace("?", "_", $tmpfile);
3 $tmpfile=str_replace("&", "_", $tmpfile);
4 if(file_exists($tmpfile))
5 {
6 $cflag=false;
7 $dtmp=filemtime($tmpfile);
8 $itmp=filemtime($incfile);
9 $cflag=$cflag | ($dtmp 10 $ctmp=filemtime(basename($PHP_SELF));
11 $cflag=$cflag | ($dtmp 12 $ttmp=filemtime("template/content.ihtml");
13 $cflag=$cflag | ($dtmp 14 }
15 else
16 $cflag=true;
17
18 if(!$cflag) //使用存在的文件
19 {
20 readfile($tmpfile);
21 exit;
22 }
23
24 //创建新的文件
25 include "template.class.php3";
26
27 $fp=fopen($incfile, "r");
28 $content=fread($fp, filesize($incfile));
29 fclose($fp);
30
31 //下面进行模版处理
32 $t = new Template("template", "keep");
33
34 $t->set_file("contentfile","content.ihtml");
35
36 $t->set_var(
37 array(
38 "content"=>$content
39 ));
40
41 $t->parse("outputcontent","contentfile");
42
43 $fp=fopen($tmpfile, "w");
44 if($fp)
45 {
46 flock($fp, 3);
47 fwrite($fp, $t->get_var("outputcontent"));
48 flock($fp, 1);
49 fclose($fp);
50 }
51 $t->p("outputcontent");
?>


  先向大家介绍一下我的目录结构:

  /---bin/ 执行程序目录
  | |--content.php3 用于处理文件显示的程序
  | |--template/ 用于存放模板文件的目录
  | |---content.ihtml 模板文件
  |-docs/ 数据文件
  |-tmp/ 存放缓冲文件

  content.php3文件用来处理动态页面。用户可以通过content.php3?page=id号来读出一个数据文件。具体方法我就不说了,大家只要知道每个数据文件都有一个不同的id号,这样content.php3?page=id号的方式就可以唯一标识一个数据文件。

第1-3行,生成临时文件名。将'?','&'等字符替换成'_'。
第4行,判断临时文件名是否存在,如果有则执行第18-22行,并结束。
第6-13行,判断与生成动态页面有关的文件修改时间与临时文件哪个更新,设置重新生成标志。在这里使用  filemtime()来得到最后修改时间。
第24-41行,利用模板类生成动态结果,放在变量中。关于模板的处理可以参考《模板,PHPLIB处理方式》一文。
第43-50行,生成临时文件。此处对文件进行了加锁处理,以象写冲突。
第51行,输出结果。

  这就是我的处理,大家可以自行修改。

  缓冲是一项有意义的技术,可以提高访问速度,减少系统消耗。不过方法可能有多种多样,大家可以自由发挥。

本站注:看了这篇文章,竟发现本文作者的思路和本站的静态文章更新的实现原理是一样的。不同的是,本站的文章是每四天定期更新的。如果有兴趣的朋友可以通过页面下方的"view source"链接来查看具体实现的代码。如果有什么疑问和好的思想,欢迎到论坛共同讨论。



Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Einführung in die PHP-Funktion – filemtime(): Ruft die letzte Änderungszeit einer Datei ab Einführung in die PHP-Funktion – filemtime(): Ruft die letzte Änderungszeit einer Datei ab Jul 24, 2023 pm 05:41 PM

Einführung in die PHP-Funktion – filemtime(): Ermittelt den Zeitpunkt der letzten Änderung einer Datei. Übersicht: In PHP ist filemtime() eine sehr häufig verwendete Funktion, mit der der Zeitpunkt der letzten Änderung einer Datei ermittelt wird. Durch diese Funktion können wir den Zeitstempel der letzten Änderung der Datei abrufen, um den Betrieb und die Verarbeitung der Datei zu erleichtern. In diesem Artikel wird die Verwendung der Funktion filemtime() vorgestellt und Codebeispiele bereitgestellt, um den Lesern zu helfen, diese Funktion besser zu verstehen und zu verwenden. Funktionssyntax: intfilemtime

Verwenden Sie die PHP-Funktion „filemtime', um die Änderungszeit einer Datei zurückzugeben Verwenden Sie die PHP-Funktion „filemtime', um die Änderungszeit einer Datei zurückzugeben Jul 24, 2023 am 10:01 AM

Mit der PHP-Funktion „filemtime“ kann der Zeitpunkt der letzten Änderung einer Datei ermittelt werden. Die Verwendung ist sehr einfach: Übergeben Sie einfach den Dateipfad als Parameter und die Funktion gibt einen Zeitstempel zurück, der den Zeitpunkt der letzten Änderung der Datei angibt. Als Nächstes werde ich die Verwendung dieser Funktion und einige Codebeispiele vorstellen. In PHP können wir die Funktion „filemtime“ wie folgt verwenden: $file_path='path/to/file.txt';//Dateipfad

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Einführung in die PHP-Funktion: Funktion is_file() Einführung in die PHP-Funktion: Funktion is_file() Nov 04, 2023 am 09:11 AM

Einführung in die PHP-Funktion: Funktion is_file() In der PHP-Programmierung ist die Funktion is_file() eine sehr nützliche Funktion. Es wird verwendet, um festzustellen, ob ein Pfad oder eine Datei vorhanden ist und ob es sich um eine gewöhnliche Datei handelt. In diesem Artikel stellen wir die Verwendung der Funktion is_file() vor und stellen einige spezifische Codebeispiele bereit. Schauen wir uns zunächst die Syntax der Funktion is_file() an: boolis_file(string$filename)is_

Einführung in die PHP-Funktion – tmpfile(): Erstellen Sie eine temporäre Datei Einführung in die PHP-Funktion – tmpfile(): Erstellen Sie eine temporäre Datei Jul 25, 2023 pm 11:21 PM

Einführung in die PHP-Funktion – tmpfile(): Erstellen einer temporären Datei In der PHP-Programmierung ist das Verarbeiten von Dateien ein sehr häufiger Vorgang. In einigen Fällen müssen wir vorübergehend eine Datei erstellen, um eine bestimmte Verarbeitung durchzuführen, wir möchten die Datei jedoch nicht für längere Zeit speichern. Zu diesem Zeitpunkt können Sie die Funktion tmpfile() von PHP verwenden, um eine temporäre Datei zu erstellen. Dieser Artikel stellt Ihnen die Verwendung der Funktion tmpfile() und die damit verbundenen Vorsichtsmaßnahmen vor. Die Funktion tmpfile() ist eine der PHP-Dateisystemfunktionen.

PHP erstellt eine temporäre Datei PHP erstellt eine temporäre Datei Mar 21, 2024 am 11:57 AM

In diesem Artikel wird das Erstellen einer temporären Datei in PHP ausführlich erläutert. Der Herausgeber hält dies für recht praktisch, daher teile ich es Ihnen als Referenz mit. Ich hoffe, dass Sie nach dem Lesen dieses Artikels etwas gewinnen können. Einführung in die Erstellung temporärer Dateien mit PHP In einigen Fällen muss PHP temporäre Dateien erstellen, um Daten zu speichern oder zu verarbeiten. Temporäre Dateien sind Dateien, die vorübergehend im Systemdateisystem gespeichert werden und normalerweise nach Ausführung des Skripts automatisch gelöscht werden. Schritt 1. Erstellen Sie ein temporäres Dateihandle. Verwenden Sie die Funktion tmpfile(), um ein temporäres Dateihandle zu erstellen. Diese Funktion gibt einen Stream zurück, der auf eine temporäre Datei verweist, die zum Schreiben und Lesen von Daten verwendet werden kann. $file=tmpfile();2. Daten schreiben Verwenden Sie die Funktion fwrite(), um Daten in die temporäre Datei zu schreiben.

Erklärte CSS-Inhaltseigenschaften: Inhalt, Zähler und Anführungszeichen Erklärte CSS-Inhaltseigenschaften: Inhalt, Zähler und Anführungszeichen Oct 21, 2023 am 10:16 AM

Detaillierte Erläuterung der CSS-Inhaltsattribute: Inhalt, Zähler und Anführungszeichen. CSS (Cascading Style Sheets) ist ein unverzichtbarer Bestandteil der Front-End-Entwicklung. Es kann uns helfen, Webseiten zu verschönern und die Benutzererfahrung zu verbessern. In CSS gibt es einige spezielle Eigenschaften, mit denen die Anzeige von Textinhalten gesteuert werden kann, darunter Inhalt, Zähler und Anführungszeichen. In diesem Artikel werden diese Eigenschaften ausführlich erläutert und spezifische Codebeispiele bereitgestellt. 1. InhaltsattributInhaltsattribut

不用数据库来实现用户的简单的下载,代码如下,但是却不能下载,请高手找下原因,文件路劲什么的没有关问题 不用数据库来实现用户的简单的下载,代码如下,但是却不能下载,请高手找下原因,文件路劲什么的没有关问题 Jun 13, 2016 am 10:15 AM

不用数据库来实现用户的简单的下载,代码如下,但是却不能下载,请高手找下原因,文件路劲什么的没问题。

See all articles