批量生成静态,自定义静态页面的文件名

#1 xiaoq

求助!
我想实现批量生成静态,并按照文章的id来命名,但是我测试过一天晚上,不知道怎么搞,帮帮忙。!
代码如下


//生成静态
        function test_html(){ // 测试spHtml生成静态页面的方法  
         echo "开始生成新闻内容页面...
";  
         $urls = array();  
         $news = spClass("article_list");  
         if( $result = $news->findAll("pid=2") ){ // 获取到全部的留言来进行spUrl的构造  
             foreach($result as $value){ // 循环
                                 $urls = array( // 请注意这里数组的嵌套
                                                array( // 第一个页面
                                                        array("main", "show", array('id'=>$value['id'])), '/myname/news_'.$value['id'].'.html'
                                                ),
                                        //.......
                                        );
             }  
         }  
        spClass('spHtml')->makeAll($urls); // 使用makeAll来制作  
        echo "新闻内容页面生成完毕!";  
     }

我这个生成静态只能生成一个文件,并且生成的文件名是以数字命名,麻烦帮看看改怎么改。谢了

2011-05-20 10:03:12

#2 xiaoq

我想用循环来生成页面,该怎么写,如果可以的话,麻烦贴一下代码

2011-05-20 10:12:15

#3 jake

看教程 http://speedphp.com/sphtml-usage.html

makeAll那段代码是 $url[] 而不是 $url,另外你嵌套多一层是什么意思呢?建议是按教程做就行。

2011-05-20 18:43:28

#4 xiaoq

//生成静态
        function test_html(){ // 测试spHtml生成静态页面的方法  
         echo "开始生成新闻内容页面...
";  
         $news = spClass("article_list");  
         if( $result = $news->findAll("pid=2") ){ // 获取到全部的留言来进行spUrl的构造
             foreach($result as $value){ // 循环
                        $urls[] =  array(
                            array('news','show',array('id'=>$value[id]), 'myname/'.$value[id].'.html')  // 这里和spUrl的参数是相同的
                        );
                    }
         }  
        spClass('spHtml')->makeAll($urls); // 使用makeAll来制作  
        echo "新闻内容页面生成完毕!";  
     }  


我改回这样了,可以批量生成,但是文件名和路径不对,文件名还是以默认的来生成

2011-05-21 11:46:57

#5 xiaoq

$urls[] =  array(
                            array('news','show',array('id'=>$value[id])), 'myname/'.$value[id].'.html'  // 这里和spUrl的参数是相同的
);
刚看错了,是改成这样了,但是还是这样,以默认的路径和文件名生成

2011-05-21 11:51:38

#6 jake

生成一次后,如果想重新生成,要先把tmp下面全部文件删除,否则只能按原来路径生成。

2011-05-21 20:49:35

#7 xiaoq

:victory:谢谢啦,终于可以了,哈

2011-05-23 11:42:12