> 백엔드 개발 > PHP 튜토리얼 > PHP怎样执行一个动态页到缓存中再生成静态页呢

PHP怎样执行一个动态页到缓存中再生成静态页呢

WBOY
풀어 주다: 2016-06-23 14:14:58
원래의
842명이 탐색했습니다.

生成静态页

在ASP中,一般用XMLHTTP对象的open方法打开一个动态页进行执行,则这个动态页执行后生成的静态html代码可用一个adodb.stream对象保存起来,再写入到文本文件中。

在PHP中,可以用ob_start 打开缓存,让字符串先写入到缓存中,再将缓存中的内容写入到文本文件中,问题是,PHP怎么执行一个动态页呢,在有些文章里说,用header("location:adminnews.php");去执行一个动态页,但我试了,这样他只会转到这个动态页,并不会把这个动态页的内容输出到缓存中,我的代码是这样的,我想把adminnews.php的执行结果(生成的html代码)全部写入到jb51.html中,应该怎么做啊
 
ob_start(); //打开缓冲区 
echo "Hello\n"; //输出 
header("location:adminnews.php"); //把浏览器重定向到index.php 
 
$cacheStr=ob_get_contents();
$handle=fopen("jb51.html","w"); 
fwrite($handle, $cacheStr); 
ob_clean(); 
?> 

回复讨论(解决方案)

ob_start(); //打开缓冲区 
echo "Hello\n"; //输出 
include("adminnews.php"); //加载并运行 
 
$cacheStr=ob_get_contents();
$handle=fopen("jb51.html","w"); 
fwrite($handle, $cacheStr); 
ob_clean(); 

用$wstr=file_get_contents('http://www.baidu.com'); 这个函数去执行一个URL地址就可以了

file_get_contents 是php自带的函数么?

file_get_contents 是php自带的函数么?

是的 ,参看  file_get_contents 

file_get_contents 是php自带的函数么?
是的,这些可以自己参考手册的

file_get_contents即可获取adminnews.php执行的结果。

file_get_contents即可获取adminnews.php执行的结果。 

我试了不行啊,用这个获取到的是adminnews.php的源代码,而不是adminnews.php的执行结果,我要的是执行后生成的html代码,而不是原始的php代码啊。。
 
ob_start(); //打开缓冲区 
echo "Hello\n"; //输出 
$cacheStr=file_get_contents("adminnews.php"); // 
 
$handle=fopen("jb51.html","w"); 
fwrite($handle, $cacheStr); 
ob_clean(); 
?> 

file_get_contents即可获取adminnews.php执行的结果。 

我试了不行啊,用这个获取到的是adminnews.php的源代码,而不是adminnews.php的执行结果,我要的是执行后生成的html代码,而不是原始的php代码啊。。
 
ob_start(); //打开缓冲区 
echo "Hello\n"; //输出 
$cacheStr=file_get_contents("adminnews.php"); // 
 
$handle=fopen("jb51.html","w"); 
fwrite($handle, $cacheStr); 
ob_clean(); 
?> 

你通过浏览器是怎么访问的,file_get_contents里面就填写那个地址

file_get_contents即可获取adminnews.php执行的结果。 

我试了不行啊,用这个获取到的是adminnews.php的源代码,而不是adminnews.php的执行结果,我要的是执行后生成的html代码,而不是原始的php代码啊。。
 
ob_start(); //打开缓冲区 
echo "Hello\n"; //输出 
$cacheStr=file_get_contents("adminnews.php"); // 
 
$handle=fopen("jb51.html","w"); 
fwrite($handle, $cacheStr); 
ob_clean(); 
?> 

我给的例子那么明显了,还不懂?

我知道了,adminnews.php要写成绝对路径,只写文件名是不会执行的

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿