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



본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Jul 24, 2023 pm 05:41 PM

PHP 함수 소개—filemtime(): 파일의 마지막 수정 시간 가져오기 개요: PHP에서 filemtime()은 파일의 마지막 수정 시간을 가져오는 데 사용되는 매우 일반적으로 사용되는 함수입니다. 이 기능을 통해 파일의 마지막 수정 타임스탬프를 가져와 파일 작업 및 처리를 용이하게 할 수 있습니다. 이 기사에서는 filemtime() 함수를 사용하는 방법을 소개하고 독자가 이 함수를 더 잘 이해하고 사용할 수 있도록 코드 예제를 제공합니다. 함수 구문: intfilemtime

PHP 함수 'filemtime'을 사용하여 파일 수정 시간을 반환합니다. PHP 함수 'filemtime'을 사용하여 파일 수정 시간을 반환합니다. Jul 24, 2023 am 10:01 AM

PHP 함수 "filemtime"을 사용하면 파일의 마지막 수정 시간을 얻을 수 있습니다. 사용법은 매우 간단합니다. 파일 경로를 매개변수로 전달하면 함수는 파일의 마지막 수정 시간을 나타내는 타임스탬프를 반환합니다. 다음으로 이 기능의 사용법과 몇 가지 코드 예시를 소개하겠습니다. PHP에서는 다음과 같은 방법으로 "filemtime" 함수를 사용할 수 있습니다: $file_path='path/to/file.txt';//파일 경로

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

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

PHP 함수 소개: is_file() 함수 PHP 함수 소개: is_file() 함수 Nov 04, 2023 am 09:11 AM

PHP 함수 소개: is_file() 함수 PHP 프로그래밍에서 is_file() 함수는 매우 유용한 함수입니다. 경로나 파일이 존재하는지, 일반 파일인지 판단하는데 사용됩니다. 이 기사에서는 is_file() 함수를 사용하는 방법을 소개하고 몇 가지 구체적인 코드 예제를 제공합니다. 먼저 is_file() 함수의 구문을 살펴보겠습니다. boolis_file(string$filename)is_

PHP는 임시 파일을 생성합니다 PHP는 임시 파일을 생성합니다 Mar 21, 2024 am 11:57 AM

이 글은 PHP에서 임시 파일을 생성하는 방법에 대해 자세히 설명할 것입니다. 편집자는 이것이 꽤 실용적이라고 생각하므로, 이 글을 읽은 후 뭔가를 얻을 수 있기를 바랍니다. PHP를 사용하여 임시 파일 생성 소개 어떤 경우에는 PHP가 데이터를 저장하거나 처리하기 위해 임시 파일을 생성해야 합니다. 임시 파일은 시스템 파일 시스템에 임시로 저장되며 일반적으로 스크립트 실행 후 자동으로 삭제되는 파일입니다. 1단계. 임시 파일 핸들을 생성합니다. tmpfile() 함수를 사용하여 임시 파일 핸들을 생성합니다. 이 함수는 데이터를 쓰고 읽는 데 사용할 수 있는 임시 파일을 가리키는 스트림을 반환합니다. $file=tmpfile();2. 데이터 쓰기 fwrite() 함수를 사용하여 임시 파일에 데이터를 씁니다.

PHP 함수 소개—tmpfile(): 임시 파일 생성 PHP 함수 소개—tmpfile(): 임시 파일 생성 Jul 25, 2023 pm 11:21 PM

PHP 기능 소개—tmpfile(): 임시 파일 생성 PHP 프로그래밍에서 파일 처리는 매우 일반적인 작업입니다. 어떤 경우에는 특정 처리를 수행하기 위해 임시로 파일을 생성해야 하지만 파일을 오랫동안 저장하고 싶지 않은 경우가 있습니다. 이때, PHP의 tmpfile() 함수를 이용하여 임시 파일을 생성할 수 있습니다. 이번 글에서는 tmpfile() 함수의 사용법과 관련 주의사항을 소개하겠습니다. tmpfile() 함수는 PHP 파일 시스템 함수 중 하나입니다.

CSS 콘텐츠 속성 설명: 콘텐츠, 카운터 및 따옴표 CSS 콘텐츠 속성 설명: 콘텐츠, 카운터 및 따옴표 Oct 21, 2023 am 10:16 AM

CSS 콘텐츠 속성에 대한 자세한 설명: 콘텐츠, 카운터 및 인용문 CSS(Cascading Style Sheet)는 프런트 엔드 개발에 없어서는 안 될 부분으로 웹 페이지를 아름답게 하고 사용자 경험을 향상시키는 데 도움이 됩니다. CSS에는 콘텐츠, 카운터, 따옴표 등 텍스트 콘텐츠 표시를 제어하는 ​​데 사용할 수 있는 몇 가지 특수 속성이 있습니다. 이 문서에서는 이러한 속성을 자세히 설명하고 특정 코드 예제를 제공합니다. 1. 콘텐츠 속성 콘텐츠 속성

图片消失怎么解决 图片消失怎么解决 Apr 07, 2024 pm 03:02 PM

图片消失如何解决先是图片文件上传$file=$_FILES['userfile'];  if(is_uploaded_file($file['tmp_name'])){$query=mysql_query("INSERT INTO gdb_banner(image_src ) VALUES ('images/{$file['name'

See all articles