php生成静态文件

1,通用生成方法

//获取文件内容 
$content=file_get_contents("http://www.google.com/" );
$id=110;
$filename="$id.html"; //设置静态文件路径及文件名 
if(file_exists($filename)) unlink($filename); //检查是否存在旧文件,有则删除 
$fp = fopen($filename, 'w'); //写入文件 
fwrite($fp, $content); 
echo "is ok";

2,使用curl方法生成

$ch=curl_init();//初始化
curl_setopt($ch,CURLOPT_URL,"http://google.com");
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//将curl_exec()获取的信息以文件流的形式返回
curl_setopt($ch,CURLOPT_HEADER,1);//是否将头文件的信息作为数据输出

$output=curl_exec($ch);
if($output===FALSE){
echo "file error";
exit;
}

$info=curl_getinfo($ch);
curl_close($ch);//释放curl句柄

$page=time().".html";//开始构建相应页面
//if(file_exists($page)) unlink($page); //检查是否存在旧文件,有则删除 
$tp = fopen($page, "a+");
fwrite($tp, $output);
fclose($tp);

header("Location:$page");//转向生成页面

3,根据文件生成时间判断是否需要再次生成

$page="110.html";
$a=filemtime($page);
$now=time();
$nowxx=$now-$a;
echo "time:".date("Y-m-d H:i:s",$now)."-".date("Y-m-d H:i:s",$a)."<br>";
//如果文件存在并且生成时间大于1个小时删除文件
if(file_exists($page)&&$nowxx/60>60){ unlink($page); echo "操作完成"; }

 

 

posted @ 2013-07-15 15:21  fsl  阅读(525)  评论(0编辑  收藏  举报