>  기사  >  백엔드 개발  >  PHP 페이지 설정 캐시 시간 예제 코드

PHP 페이지 설정 캐시 시간 예제 코드

小云云
小云云원래의
2018-02-12 10:04:073246검색

이 글은 주로 PHP의 정적 페이지 처리에 대해 소개합니다: 페이지 설정 캐시 시간 예제입니다. 편집자는 이것이 꽤 좋다고 생각합니다. 이제 이를 여러분과 공유하고 참고용으로 제공하겠습니다. 편집자를 따라가서 모두에게 도움이 되기를 바랍니다.

Q: 순수 정적 페이지를 생성하도록 시스템을 트리거하는 방법은 무엇입니까?

1. 페이지에 캐시 시간 추가

2. 수동 트리거 방법

3. crontab 예약 스캐너

옵션 1을 구현해 보겠습니다. 페이지에 캐시 시간 추가

사용자 요청 페이지 => ; 페이지가 만료되었나요? => 아니요(정적 페이지 가져오기) => 예(동적 페이지가 새 정적 페이지를 생성함)


if( 如果存在这个静态文件 && 没有过期){
  // 获取页面
}else{
  // 重新生成一份静态页面
}

알겠습니다. 아래 코드를 개선해 보겠습니다. :


<?php

if(is_file(&#39;./index.html&#39;) && (time()-filemtime(&#39;./index.html&#39;)) < 60){ 
  // 假设缓存时间是60秒
  // 获取页面
  require_once(&#39;./index.html&#39;);
}else{
  // 重新生成一份静态页面
  // 准备要展示到网页的数据
  $data = array( 
    array(&#39;id&#39;=>1,&#39;msg&#39;=>&#39;hello java&#39;),
    array(&#39;id&#39;=>2,&#39;msg&#39;=>&#39;hello php&#39;),
    array(&#39;id&#39;=>3,&#39;msg&#39;=>&#39;hello python&#39;),
  );

  // 渲染到模板
  // 实际项目一般是在html里渲染
  // 这里演示 希望能看懂

  ob_start(); // 开始输入缓冲控制

  foreach($data as $item){
    echo $item[&#39;id&#39;].&#39;===>&#39;.$item[&#39;msg&#39;].&#39;<br/>&#39;;
  }

  // 开始生成静态页面文件
  file_put_contents(&#39;index.html&#39;,ob_get_contents());
}

이런 식으로 index.php에 액세스할 때 정적 파일 캐시가 만료되지 않은 경우 실제로 액세스하는 콘텐츠는 정적 파일 index.html에서 가져옵니다.

관련 권장 사항:

PHP에서 정적 콘텐츠 캐시 시간을 설정하는 방법, PHP에서 정적 캐시_PHP 설정 튜토리얼

위 내용은 PHP 페이지 설정 캐시 시간 예제 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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