wget -r 你的网址这样所有的静态网页就存到硬盘上了.

解决方案 »

  1.   


      PHP与HTML相分离(模块化)。
     
      将需要输出的信息集中加到一个变量上。如:$content .= $html;  最后fopen(),fwrite()....  除此之外,还可以使用rewrite
      

  2.   

    我有一个detail.php是显示数据的详细页,显示数据后是这样detail.php?ID_kf=21739
    能不能在detail.php里加一段代码后让它转换成detail.php21739这样
    谢谢大家帮忙
      

  3.   

    能不能在网页中加代码来解决这个问题,在detail.php里加一段代码后让它转换成detail.html21739这样
      

  4.   

    使用模板。
    或者写个程序,用fopen你的网址,然后写入到文件。
    下面这个是试试是否可以。
    <?php
    function create_html($save_path,$file_name,$read_file)
    {
    //读取文件然后写入到一个文件
             //Author:wjjchen
    //$save_path:要保存的路径,UNIX风格,最后加"/";
    //$file_name:要保存的文件名
    //$read_file:读取的文件或者URL
    /*关于返回值
    -1:没有创建目录权限
    -2:没有权限读取文件或者没有此文件或者没有读取到任何内容
    -3:写入文件错误
    -4:文件不可写
    1:执行成功
    */
    $path_array = explode("/",$save_path);
    foreach ($path_array as $path)
    {
    if ($path)
    {
    $now_path .= $path."/";
    if (!is_dir($now_path))
    {
    if (!mkdir($now_path))
    {
    //没有创建目录权限,退出。
    return -1;
    exit();
    }
    }
    }
    }

    //读取文件
    $contents = @file_get_contents($read_file);
    if (!$contents)
    {
    //没有权限读取文件或者没有此文件或者没有读取到任何内容
    return -2;
    exit();
    }else
    {
    //写入文件
    $handle = @fopen($save_path.$file_name,"w+");
    if ($handle)
    {
    if (@fwrite($handle,$contents))
    {
    return  1;
    }else
    {
    //写入文件错误
    return -3;
    }
    }else
    {
    //文件不可写
    return -4;
    }
    }

    //END FUNCTION
    }/********************************示例************************/
    /*
    绝对路径
    echo create_html("e:/af/asdf/","1.html","http://www.sohu.com");
    echo create_html("e:/af/asdf/","2.html","e:/af/asdf/1.html");
    相对路径
    echo create_html("./adf/asfd/","3.html","http://www.sina.com.cn");
    */
    /***********************************************************/
    ?>
      

  5.   

    我把这段代码加入detail.php里,但是没有任何作用.用模板会不会简单点,能给出一段代码吗?谢谢 wjjchen(redfox)谢谢大家!
      

  6.   

    楼上的代码提示没有权限
    -1
    如何解决?总不能给everyone加all吧
      

  7.   

    wjjchen(redfox) 能把调用过程和使用过程说一下吗?谢谢
      

  8.   

    最简单的办法是用php的ob函数了配合fopen(),fwrite()可以到达你的目的
      

  9.   


    最简单的楼上有人说过,用modrewrite ,几乎不用怎样改代码
      

  10.   

    开头加:
    function bfcallback($buffer){
      $fp = fopen("detail.php".$GET['ID_kf'], "w");
      fwrite($fp,$buffer);
      fclose($fp);
      return $buffer;
    }
    ob_start("bfcallback");
    结尾加:
    ob_end_flush();
      

  11.   

    两种方式可转html
    1.真生成: 用fwrite,但要保证有写的权限, 代码请参考 wjjchen(redfox)的 
    2.假生成: 用rewrite(重写),但要保证你能操作服务器,因为要修改服务器配置
              参考:
                   RewriteRule /root/news_([0-9]+).html$ /root/news.php?id=$1