返回列表 发帖

分享用smarty和CI框架建站系统生成静态页面程序函数

本帖最后由 起的早 于 2009-10-15 17:14 编辑

function web_write()
        {
          define ( ROOT ,  dirname ( $_SERVER['SCRIPT_FILENAME'] ) . '/' );
            $AdminDB = $this->loadDB('AdminDB');
            $zd_id = !empty( $_GET['zd_id'] ) ? trim( $_GET['zd_id'] ) : "";  
            $web = $AdminDB->db_get_web_by_id($zd_id);
            $skin = $AdminDB->db_get_tem_by_id($zd_id);
                   //获取站点下的频道
              $pindao = $AdminDB->db_get_web_pindao_options($zd_id);
                $skinname = $skin['skinname'];
                $webname =urlencode($web['ym_name']);
                //建立站点目录
                if( !is_dir ( ROOT.'site/'.$webname.'' ) )
             {
                  mkdir( ROOT.'site/'.$webname.'');
              }
                $this->view->assign("webname", $webname);
                $this->view->assign("skin", $skin);
                $this->view->assign("web",$web);
                //给数组pindao里增加cpdname中文转化拼音
                for($i=0;$i<count($pindao);$i++)
                {
                $pindao[$i]['cpd_name'] = c($pindao[$i]['pd_name']);
                }
                $this->view->assign("pindao", $pindao);
                      //创建频道文件夹生成站点列表页提取频道下的标题
                for($i=0;$i<count($pindao);$i++)
                {
                  if( !is_dir ( ROOT.'site/'.$webname.'/'.c($pindao[$i]['pd_name']).'/' ) )
                          {
                           mkdir( ROOT.'site/'.$webname.'/'.c($pindao[$i]['pd_name']).'');
                          }
                      $biaoti = $AdminDB->db_get_web_biaoti($zd_id,$pindao[$i]['pd_id']);
                          //给数组biaoti里增加cpdname中文转化拼音
                          for($a=0;$a<count($biaoti);$a++)
                          {
                          $biaoti[$a]['cpd_name'] = c($biaoti[$a]['pd_name']);
                          }
                      $this->view->assign("biaoti", $biaoti);
                          
                             $data = $this->view->fetch(ROOT."template/".$skinname."/list.tpl");
                                     file_put_contents ( ROOT.'site/'.$webname.'/'.c($pindao[$i]['pd_name']).'/'.$pindao[$i]['pd_id'].'_0.html' ,     $data );
                      //生每个频道下的内容页
                          for($a=0;$a<count($biaoti);$a++)
                          {
                            //创建每个频道下的内容文件夹
                        if( !is_dir ( ROOT.'site/'.$webname.'/'.c($biaoti[$a]['pd_name']).'/'.$biaoti[$a]['wz_id'].'/') )
                    {
                         mkdir( ROOT.'site/'.$webname.'/'.c($biaoti[$a]['pd_name']).'/'.$biaoti[$a]['wz_id'].'');
                    }
                                 $id = $biaoti[$a]['wz_id'];
                             $title = $biaoti[$a]['title'];
                             $content = $biaoti[$a]['content'];
                                 $this->view->assign("id", $id);
                             $this->view->assign("title", $title);
                             $this->view->assign("content", $content);
                                     $newsdata = $this->view->fetch(ROOT."template/".$skinname."/news.tpl");
                                // 判断文章是否已经生成过,如果flag为0,则生成
                                 if ($biaoti[$a]['flag'] == 0)
                                 {
                                          file_put_contents ( ROOT.'site/'.$webname.'/'.c($pindao[$i]['pd_name']).'/'.$biaoti[$a]['wz_id'].'/index.html' ,                                     $newsdata );
                                 //更新flag为1,即生成后的标志
                                  $AdminDB->db_upd_web_flag($biaoti[$a]['wz_id']);
                                 }
                      }
                  }  
                          $this->view->assign("webname",$webname);
                          $data = $this->view->fetch(ROOT."template/".$skinname."/index.tpl");
                          file_put_contents ( ROOT.'site/'.$webname.'/index.html' , $data );
                          show_msg1('生成站点成功','/jianzhan/site/'.$webname.'/index.html',3000);
        }
PHP真是好强大,看这个网站www.caihongse.com

mkdir是不是要注意一下?

TOP

返回列表