类似CSDN的帖子页面,它也是动态生成的静态页面。希望高手给详细完整的例子,小弟PHP不太行,先行多谢了!!

解决方案 »

  1.   

    先写好动态的~ 之后include 那个连结
    http://blog.yctin.com/archives/php-using-output-buffering-to-create-static-page/
      

  2.   

    我要创建的静态页面是要和用户提交的资料结合的,类似CSDN的帖子一样,它模块基本一样的,我不知道怎么样把统一的模块和用户的资料结合起来,
    比如模块里是有JS的,怎么样把JS和以下的CONTENT结合呢?echo <<<CONTENT
    CONTENT;
      

  3.   


    <?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>";
    ?>
      

  4.   

    服务器端PHP查询数据,以XML形式输出到客户端,然后用JS的XML函数来将数据填入到对应的模块中。
      

  5.   

    直接用PHP生成HTML然後更轉過去就可以了
      

  6.   


    可能我说的不清楚,我是想这样的,用户通过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>
      

  7.   


    其实我最不明白的一点是怎么样把含JS,CSS模版和用户提供的内容结合起来,希望大家能详细说下这点
      

  8.   

    如果你所有的HTML是一起輸出的就很容易了,先把html當成一個寡不字符串,最後一個echo,這樣在echo前保存成一個純html文件,下次可以直接轉到這個html文件
      

  9.   

    你把所有静态页面要用到的js,css统一放到几个文件.<html>
    <head>
    <link rel="stylesheet" type="text/css" href="本静态需要用到的css样式"/>
    <script type='text/javascript' src="本静态页面需要用到的js"></script>
    </head>
    <body>
    用户页面的具体数据.
    </body>
    </html>
    </html>
      

  10.   

    哪用得着什么教程啊,你只需要把逻辑整理起来就可以了,跟动态的没有什么区别,只是把动态能处理的都弄成HTML页面
      

  11.   

    又见你了。那个hotten123的号也是我的。你有空吗,能不能详细的说下具体HTML文件的创建,地址生成,能否纤细说下整个流程
      

  12.   

    用户通过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 用户访问的时候,根据规则,引导页面到对应的静态文件.