这篇文章主要为大家详细介绍了php 生成静态页面的办法示例,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随四海网的小编小韵来看看吧!
php中主要用到的就是要用到fread()和fwirte()。而静态页面生成了之后,就会牵扯到修改的问题。这里可以用到正则匹配的方法来替换模版中改变的部位。不过此种方法太麻烦,值得推荐的方法是直接把原来生成的模版砍掉,重新生成,呵呵,真正的一了百了。代码如下:
<?php
ob_start();
@readfile("http://tools.q1010.com/");
$text = ob_get_flush();
$myfile = fopen("myfile.html","w");
$text =
str_replace ("{counent}",$string,$text);
fwrite($myfile,$text);
ob_clean();
?>
代码如下:
<?php
$title = "http://siyizhu.com测试模板";
$file = "TwoMax Inter test templet,<br>author:[email=Matrix@Two_Max]Matrix@Two_Max[/email]";
$fp = fopen ("temp.html","r");
$content = fread($fp,filesize ("temp.html"));
$content = str_replace("{file}",$file,$content);
$content = str_replace("{title}",$title,$content);
$filename = "test/test.html";
$handle = fopen ($filename,"w"); //打开文件指针,创建文件
/* 检查文件是否被创建且可写 */
if (!is_writable ($filename))
{
die ("文件:".$filename."不可写,请检查其属性后重试!");
}
if (!fwrite ($handle,$content))
{ //将信息写入文件
die ("生成文件".$filename."失败!");
}
fclose ($handle); //关闭指针
die ("创建文件".$filename."成功!");
?>
代码如下:
<?php
$title = "http://";
$file = "TwoMax Inter test templet,<br>author:[email=Matrix@Two_Max]Matrix@Two_Max[/email]";
$fp = fopen ("temp.html","r");
$content = fread ($fp,filesize ("temp.html"));
$content = str_replace ("{file}",$file,$content);
$content = str_replace ("{title}",$title,$content);
// 生成列表开始
$list = '';
$sql = "select id,title,filename from article";
$query = mysql_query ($sql);
while($result = mysql_fetch_array ($query))
{
$list .= '<a href='.$root.$result['filename'].' target=_blank>'.$result['title'].'</a><br>';
}
$content .= str_replace("{articletable}",$list,$content);//生成列表结束
// echo $content;
$filename = "test/test.html";
$handle = fopen ($filename,"w");
//打开文件指针,创建文件
/* 检查文件是否被创建且可写 */
if(!is_writable ($filename))
{
die ("文件:".$filename."不可写,请检查其属性后重试!");
}
if(!fwrite($handle,$content))
{ //将信息写入文件
die ("生成文件".$filename."失败!");
}
fclose($handle); //关闭指针
die ("创建文件".$filename."成功!");
?>
代码如下:
<?php
$fp = fopen ("temp.html","r");
$content = fread ($fp,filesize ("temp.html"));
$onepage = '20';
$sql = "select id from article where channel='$channelid'";
$query = mysql_query ($sql);
$num = mysql_num_rows ($query);
$allpages = ceil ($num / $onepage);
for ($i = 0;$i<$allpages; $i++)
{
if ($i == 0)
{
$indexpath = "index.html";
}
else
{
$indexpath = "index_".$i."html";
}
$start = $i * $onepage;
$list = '';
$sql_for_page = "select name,filename,title from article where channel='$channelid' limit $start,$onepage";
$query_for_page = mysql_query ($sql_for_page);
while ($result = $query_for_page)
{
$list .= '<a href='.$root.$result['filename'].' target=_blank>'.$title.'</a><br>';
}
$content = str_replace("{articletable}",$list,$content);
if (is_file ($indexpath))
{
@unlink ($indexpath); //若文件已存在,则删除
}
$handle = fopen ($indexpath,"w"); //打开文件指针,创建文件
/*检查文件是否被创建且可写 */
if (!is_writable ($indexpath))
{
echo "文件:".$indexpath."不可写,请检查其属性后重试!"; //修改为echo
}
if (!fwrite ($handle,$content))
{//将信息写入文件
echo "生成文件".$indexpath."失败!"; //修改为echo
}
fclose ($handle); //关闭指针
}
fclose ($fp);
die ("生成分页文件完成,如生成不完全,请检查文件权限系统后重新生成!");
?>
代码如下:
<?php
include("Smarty.class.php");
$smarty = new Smarty;
$smarty->caching = true;
// only do db calls if cache doesn't exist
if(!$smarty->is_cached("index.tpl"))
{// dummy up some data
$address = "245 N 50th";
$db_data = array("City" => "Lincoln", "State" => "Nebraska", "Zip" => "68502");
$smarty->assign("Name","Fred");
$smarty->assign("Address",$address);
$smarty->assign($db_data);
}// capture the output
$output = $smarty->fetch("index.tpl");
//这个地方算是关键// do something with $output here
echo $output; //hoho 看到output的结果了吧 然后呢?fwrite一下,我们就得到我们所要的结果了。
$fp = fopen("archives/2005/05/19/0001.html", "w");
fwrite($fp, $content);
fclose($fp);
?>
代码如下:
<?php
ob_start();
echo "Hello World!";
$content = ob_get_contents();//取得php页面输出的全部内容
$fp = fopen("archives/2005/05/19/0001.html", "w");
fwrite($fp, $content);
fclose($fp);
?>
本文来自:http://www.q1010.com/173/13807-0.html
注:关于php 生成静态页面的办法示例的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。
关键词:
四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。