Rumah 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"链接来查看具体实现的代码。如果有什么疑问和好的思想,欢迎到论坛共同讨论。



Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Pengenalan fungsi PHP—filemtime(): Dapatkan masa pengubahsuaian terakhir fail Pengenalan fungsi PHP—filemtime(): Dapatkan masa pengubahsuaian terakhir fail Jul 24, 2023 pm 05:41 PM

Pengenalan fungsi PHP—filemtime(): Dapatkan masa pengubahsuaian terakhir fail Gambaran Keseluruhan: Dalam PHP, filemtime() ialah fungsi yang sangat biasa digunakan, digunakan untuk mendapatkan masa pengubahsuaian terakhir fail. Melalui fungsi ini, kita boleh mendapatkan cap waktu pengubahsuaian terakhir fail untuk memudahkan operasi dan pemprosesan fail. Artikel ini akan memperkenalkan cara menggunakan fungsi filemtime() dan menyediakan contoh kod untuk membantu pembaca memahami dan menggunakan fungsi ini dengan lebih baik. Sintaks fungsi: intfilemtime

Gunakan fungsi PHP 'filemtime' untuk mengembalikan masa pengubahsuaian fail Gunakan fungsi PHP 'filemtime' untuk mengembalikan masa pengubahsuaian fail Jul 24, 2023 am 10:01 AM

Fungsi PHP "filemtime" boleh digunakan untuk mendapatkan masa pengubahsuaian terakhir fail. Penggunaannya sangat mudah, hanya masukkan laluan fail sebagai parameter, dan fungsi akan mengembalikan cap masa yang menunjukkan masa pengubahsuaian terakhir fail. Seterusnya, saya akan memperkenalkan cara menggunakan fungsi ini dan beberapa contoh kod. Dalam PHP, kita boleh menggunakan fungsi "filemtime" dengan cara berikut: $file_path='path/to/file.txt';//File path

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

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

Pengenalan fungsi PHP: fungsi is_file(). Pengenalan fungsi PHP: fungsi is_file(). Nov 04, 2023 am 09:11 AM

Pengenalan fungsi PHP: fungsi is_file() Dalam pengaturcaraan PHP, fungsi is_file() ialah fungsi yang sangat berguna. Ia digunakan untuk menentukan sama ada laluan atau fail wujud dan merupakan fail biasa. Dalam artikel ini, kami akan memperkenalkan cara menggunakan fungsi is_file() dan menyediakan beberapa contoh kod khusus. Mula-mula, mari kita lihat sintaks fungsi is_file(): boolis_file(string$filename)is_

PHP mencipta fail sementara PHP mencipta fail sementara Mar 21, 2024 am 11:57 AM

Artikel ini akan menerangkan secara terperinci tentang membuat fail sementara dalam PHP Editor berpendapat ia agak praktikal, jadi saya kongsikan dengan anda sebagai rujukan saya harap anda boleh memperoleh sesuatu selepas membaca artikel ini. Pengenalan kepada mencipta fail sementara dengan PHP Dalam sesetengah kes, PHP perlu mencipta fail sementara untuk menyimpan atau memproses data. Fail sementara ialah fail yang disimpan sementara dalam sistem fail sistem dan biasanya dipadam secara automatik selepas skrip dilaksanakan. Langkah 1. Cipta pemegang fail sementara Gunakan fungsi tmpfile() untuk mencipta pemegang fail sementara. Fungsi ini mengembalikan aliran yang menunjuk ke fail sementara yang boleh digunakan untuk menulis dan membaca data. $file=tmpfile();2. Tulis data Gunakan fungsi fwrite() untuk menulis data ke fail sementara.

Pengenalan fungsi PHP—tmpfile(): Cipta fail sementara Pengenalan fungsi PHP—tmpfile(): Cipta fail sementara Jul 25, 2023 pm 11:21 PM

Pengenalan fungsi PHP—tmpfile(): Mencipta fail sementara Dalam pengaturcaraan PHP, memproses fail adalah operasi yang sangat biasa. Dalam sesetengah kes, kami perlu mencipta fail buat sementara waktu untuk melaksanakan pemprosesan tertentu, tetapi kami tidak mahu menyimpan fail itu untuk masa yang lama. Pada masa ini, anda boleh menggunakan fungsi tmpfile() PHP untuk mencipta fail sementara. Artikel ini akan memperkenalkan kepada anda penggunaan fungsi tmpfile() dan langkah berjaga-jaga yang berkaitan. Fungsi tmpfile() ialah salah satu fungsi sistem fail PHP.

Sifat kandungan CSS dijelaskan: kandungan, kaunter dan petikan Sifat kandungan CSS dijelaskan: kandungan, kaunter dan petikan Oct 21, 2023 am 10:16 AM

Penjelasan terperinci tentang atribut kandungan CSS: kandungan, kaunter dan petikanCSS (helaian gaya berlatarkan) adalah bahagian yang amat diperlukan dalam pembangunan bahagian hadapan Ia boleh membantu kami mengindahkan halaman web dan meningkatkan pengalaman pengguna. Dalam CSS, terdapat beberapa sifat khas yang boleh digunakan untuk mengawal paparan kandungan teks, termasuk kandungan, pembilang dan petikan. Artikel ini menerangkan sifat ini secara terperinci dan menyediakan contoh kod khusus. 1. atribut kandungan atribut kandungan

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

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

See all articles