简单的PHP伪缓存并定时抓取某页面内容_PHP教程
需求:要抓取某个页面的一部分内容,然后iframe到别的页面去。iframe的时候,不需求每次都访问源页面,而是每天只读取源页面一次,并生成文件,iframe的时候只访问该暂时文件,也就是伪缓存啦。这么做适合访问量不大的页面,降低数据库访问压力。
程序设计如下:
<?php function get_page_content() { $url = "http://www.bkjia.com/"; $contents = file_get_contents($url); //如果出现中文乱码使用下面代码 //$getcontent = iconv("gb2312″, "utf-8″,$contents); //echo $contents; //$pos = strstr($contents, '<div class="hot_news">'); //print_r($pos); $array = explode('<div class="hot_news">', $contents); $htmlarray = explode('<div class="car_tab border4">', $array[0]); // HTML部分 $cssarray = explode('<div class="hometop">', $htmlarray[0]); $css_rem_inner = explode('<!--[if !IE]>导航<![endif]-->', $cssarray[0]); $css_min = explode('<script type="text/javascript" src="http://www.bkjia.com/ad_comm_t.js">', $css_rem_inner[0]); $str_css = $css_min[0]; $head = '<base target="_blank"></base></head> '; $str_1 = '<div class="car_tab border4">'; $str_html = $htmlarray[1]; $content = $str_css.$head.$str_1.$str_html; return $content; } $cache_file = "tmp.html"; $cache_time = 60*60*24; /** ob_start(); echo $content; file_put_contents($cacheFile,ob_get_contents()); ob_end_flush(); **/ echo date("Y-m-d H:i:s", time()); echo '<br />'; echo date("Y-m-d H:i:s", floor(@filemtime($cache_file))); if(time() - $cache_time > floor(@filemtime($cache_file)) ) { $content = get_page_content(); file_put_contents($cacheFile, $content); header('Location: http://www.bkjia.com/tmp.html'); } else { header('Location: http://www.bkjia.com/tmp.html'); } ?>
解释下:
$cache_time = 60*60*24; 缓存时间为一天。
if(time() - $cache_time > floor(@filemtime($cache_file)) ) 如果当前时间减去一天大于暂时文件的修改时间。
$content = get_page_content(); 就读取页面内容并重新生成暂时文件。
就这么简单。

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는

CakePHP는 오픈 소스 MVC 프레임워크입니다. 이를 통해 애플리케이션 개발, 배포 및 유지 관리가 훨씬 쉬워집니다. CakePHP에는 가장 일반적인 작업의 과부하를 줄이기 위한 여러 라이브러리가 있습니다.

이 튜토리얼은 PHP를 사용하여 XML 문서를 효율적으로 처리하는 방법을 보여줍니다. XML (Extensible Markup Language)은 인간의 가독성과 기계 구문 분석을 위해 설계된 다목적 텍스트 기반 마크 업 언어입니다. 일반적으로 데이터 저장 AN에 사용됩니다
