求完整的PHP动态生成静态页面教程 类似CSDN的帖子页面,它也是动态生成的静态页面。希望高手给详细完整的例子,小弟PHP不太行,先行多谢了!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先写好动态的~ 之后include 那个连结http://blog.yctin.com/archives/php-using-output-buffering-to-create-static-page/ 我要创建的静态页面是要和用户提交的资料结合的,类似CSDN的帖子一样,它模块基本一样的,我不知道怎么样把统一的模块和用户的资料结合起来,比如模块里是有JS的,怎么样把JS和以下的CONTENT结合呢?echo <<<CONTENTCONTENT; <?php//利用缓存生成静态页,贴一段代码ob_start(); //打开缓冲区 前面最后不要加入空行,否则会出错的date_default_timezone_set ("Asia/Shanghai"); //修改时间差$selfName=$_SERVER['PHP_SELF']; $selfName=basename($selfName,".php"); $selfName=$selfName.'.html'; //将来生成的静态页的名字,包括扩展名html$fp=@fopen($selfName,'r'); //以只读的方式打开这个文件if($fp){ $fileModifyTime=filemtime($selfName); //如果文件存在,得到文件修改的时间 $differ=60*1 ; if($fileModifyTime > (time()-$differ)){ header("location:$selfName"); //如果没有过期,就给用户看,用header跳转就可以 fclose($fp); exit; }}for($i=0;$i<10;$i++){ echo "$i<br>";}$contents=ob_get_contents();ob_end_flush(); //结束缓存并输出缓存内的内容$fp = @fopen($selfName, "w"); //文件过期要用w方式打开,把文件重写才可以fwrite($fp,$contents);fclose($fp);echo "<script language='javascript'>location.href=\"$selfName\";</script>";?> 服务器端PHP查询数据,以XML形式输出到客户端,然后用JS的XML函数来将数据填入到对应的模块中。 直接用PHP生成HTML然後更轉過去就可以了 可能我说的不清楚,我是想这样的,用户通过form来提交图片和图片名称,然后post到另外一个PHP页面b,b页面接受POST过来的图片地址及名称,然后按照以下模版生成一个静态页面(这个页面有JS和css),生成的地址是XXX.用户ID.HTML;最后把这个静态页面存储到服务器。类似帖子和空间的实现方法,这样用户想查看这个页面的时候,是打开一个静态的页面,而不需要重新从数据库来读取数据。这样做的目的是减轻数据库的压力,<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>无标题文档</title><style type="text/css">#test{ width:400px; height:100px; background:#0066CC;}</style></head><body><div id="test">这里放置客户提交的图片</div><div><a onclick="show(this)">这里是图片名称</a></div><script type="text/javascript">function show(ele){ var h = ele.innerHTML; if(h!="") alert(h);}</script></body></html> 其实我最不明白的一点是怎么样把含JS,CSS模版和用户提供的内容结合起来,希望大家能详细说下这点 如果你所有的HTML是一起輸出的就很容易了,先把html當成一個寡不字符串,最後一個echo,這樣在echo前保存成一個純html文件,下次可以直接轉到這個html文件 你把所有静态页面要用到的js,css统一放到几个文件.<html><head><link rel="stylesheet" type="text/css" href="本静态需要用到的css样式"/><script type='text/javascript' src="本静态页面需要用到的js"></script></head><body>用户页面的具体数据.</body></html></html> 哪用得着什么教程啊,你只需要把逻辑整理起来就可以了,跟动态的没有什么区别,只是把动态能处理的都弄成HTML页面 又见你了。那个hotten123的号也是我的。你有空吗,能不能详细的说下具体HTML文件的创建,地址生成,能否纤细说下整个流程 用户通过form来提交图片和图片名称,然后post到另外一个PHP页面b, b页面接受POST过来的图片地址及名称,然后按照以下模版生成一个静态页面(这个页面有JS和css),生成的 地址是XXX.用户ID.HTML;最后把这个静态页面存储到服务器。类似帖子和空间的实现方法,这样用户想查看这个页面的时候,是打开一个静态的页面,而不需要重新从数据库来读取数据。1 建立静态页面模板. 将需要更换的html定义成模板变量.2 setPage.php 获取用户通过form提交图片和图片名称, 替换模板变量, 输出. 通过缓冲区函数截取输出, 根据规则写文件,引导页面到新产生的文件. ob_start(); //file_get_contents读取模板文件,替换,输出 $strContent = ob_get_contents(); file_put_contents("xxx.html"); ob_clean(); header("Location: xxx.html"); 3 用户访问的时候,根据规则,引导页面到对应的静态文件. 求PHP查看虚拟主机空间大小的代码? 求好心人士帮忙改改代码 PHP画图组件,jpgraph一个问题 求一个正值表达式 session_save_path() 为什么生成不了session文件 PHP网页显示的时间为调用的该文件的文件名,怎么改为显示UTC(国际时)? 又一个下拉列框问题,急!!! 时间问题 急 mysql_fetch_array 的联合数组问题 php的程序怎么嵌入html里用 求php函数 时间控制 .net在linux下
http://blog.yctin.com/archives/php-using-output-buffering-to-create-static-page/
比如模块里是有JS的,怎么样把JS和以下的CONTENT结合呢?echo <<<CONTENT
CONTENT;
<?php
//利用缓存生成静态页,贴一段代码
ob_start(); //打开缓冲区 前面最后不要加入空行,否则会出错的
date_default_timezone_set ("Asia/Shanghai"); //修改时间差$selfName=$_SERVER['PHP_SELF'];
$selfName=basename($selfName,".php");
$selfName=$selfName.'.html'; //将来生成的静态页的名字,包括扩展名html
$fp=@fopen($selfName,'r'); //以只读的方式打开这个文件
if($fp){
$fileModifyTime=filemtime($selfName); //如果文件存在,得到文件修改的时间
$differ=60*1 ;
if($fileModifyTime > (time()-$differ)){
header("location:$selfName"); //如果没有过期,就给用户看,用header跳转就可以
fclose($fp);
exit;
}
}
for($i=0;$i<10;$i++){
echo "$i<br>";
}
$contents=ob_get_contents();
ob_end_flush(); //结束缓存并输出缓存内的内容
$fp = @fopen($selfName, "w"); //文件过期要用w方式打开,把文件重写才可以
fwrite($fp,$contents);
fclose($fp);
echo "<script language='javascript'>location.href=\"$selfName\";</script>";
?>
可能我说的不清楚,我是想这样的,用户通过form来提交图片和图片名称,然后post到另外一个PHP页面b,
b页面接受POST过来的图片地址及名称,然后按照以下模版生成一个静态页面(这个页面有JS和css),生成的
地址是XXX.用户ID.HTML;最后把这个静态页面存储到服务器。类似帖子和空间的实现方法,这样用户想查看这个页面的时候,是打开一个静态的页面,而不需要重新从数据库来读取数据。这样做的目的是减轻数据库的压力,
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style type="text/css">
#test{
width:400px;
height:100px;
background:#0066CC;
}
</style>
</head><body>
<div id="test">这里放置客户提交的图片</div>
<div><a onclick="show(this)">这里是图片名称</a></div>
<script type="text/javascript">
function show(ele){
var h = ele.innerHTML;
if(h!="")
alert(h);
}
</script>
</body>
</html>
其实我最不明白的一点是怎么样把含JS,CSS模版和用户提供的内容结合起来,希望大家能详细说下这点
<head>
<link rel="stylesheet" type="text/css" href="本静态需要用到的css样式"/>
<script type='text/javascript' src="本静态页面需要用到的js"></script>
</head>
<body>
用户页面的具体数据.
</body>
</html>
</html>
b页面接受POST过来的图片地址及名称,然后按照以下模版生成一个静态页面(这个页面有JS和css),生成的
地址是XXX.用户ID.HTML;最后把这个静态页面存储到服务器。类似帖子和空间的实现方法,这样用户想查看这个页面的时候,是打开一个静态的页面,而不需要重新从数据库来读取数据。1 建立静态页面模板. 将需要更换的html定义成模板变量.
2 setPage.php 获取用户通过form提交图片和图片名称, 替换模板变量, 输出. 通过缓冲区函数截取输出, 根据规则写文件,引导页面到新产生的文件.
ob_start();
//file_get_contents读取模板文件,替换,输出
$strContent = ob_get_contents();
file_put_contents("xxx.html");
ob_clean();
header("Location: xxx.html");
3 用户访问的时候,根据规则,引导页面到对应的静态文件.