// +---------------------------------------------------------------------- namespace app\admin\controller; use cmf\controller\AdminBaseController; use think\Db; class SitemapController extends AdminBaseController { //pc public function index() { $local = $_SERVER['SERVER_NAME']; $site = 'http://'.$local; $time = date("Y-m-d",time()); $url = $site."/\r\n"; $xml = ''; $xml .= ""; $xml .= "{$site}"; $xml .= "{$time} "; $xml .= "daily"; $xml .= "1.0"; $xml .= ""; $category = Db::name('category')->where('status', 1)->order('list_order')->select(); foreach($category as $val) { $url .= $site."/xm".$val['enname']."\r\n"; // $html .= ''.$val['name'].''."
"; $xml .=""; $xml .= ''.$site.'/xm'.$val['enname'].'/'; $xml .= "daily"; $xml .= "0.9"; $xml .= ""; } // $article = Db::name('news')->alias('a')->join('news_category b','a.catid=b.id')->where('a.status',1)->order('a.id desc')->select(); $article = Db::name('news')->field('id,create_time')->where('status',1)->order('id desc')->select(); foreach($article as $value) { //dump($value); $url .= $site."/news".$value['id']."/\r\n"; $xml .= ""; //$html .= ''.$value['post_title'].''."
"; $xml .= ''.$site."/news".$value['id'].'/'; $xml .= "".date('Y-m-d',$value['create_time']).""; $xml .= "weekly"; $xml .= "0.8"; $xml .= "
"; } $xiangmu = Db::name('jiameng')->field('id,create_time')->order('id desc')->select(); foreach($xiangmu as $pvalue) { $portalArticleUrl = trim($site."/b".$pvalue['id']."/"."\r\n"); $xml .= ""; $xml .= ''.$portalArticleUrl.''; $xml .= "".date('Y-m-d',$pvalue['create_time']).""; $xml .= "weekly"; $xml .= "0.8"; $xml .= ""; } $xml .= '
'; $this->updatexml($xml); } //shouji public function sitePhoneMap() { $local = $_SERVER['SERVER_NAME']; $local = explode('.', $local); //dump($local); if(count($local)==3){ $local = $local[1].'.'.$local[2]; }else{ $local = $local[1].'.'.$local[2].'.'.$local[3]; } $local = 'm.'.$local; //dump($local);die; $site = 'http://'.$local; $time = date("Y-m-d",time()); $url = $site."/\r\n"; $xml = ''; $xml .= ""; $xml .= "{$site}"; $xml .= ""; $xml .= "{$time} "; $xml .= "daily"; $xml .= "1.0"; $xml .= ""; $brandCategoryModel = new BrandCategoryModel(); $category = $brandCategoryModel->where('status', 1)->where('delete_time', 0)->select(); foreach($category as $val) { $geturl = $this->geturl('brand/List/index?id='.$val['id'].''); $url .= $site."/".$geturl['url']."\r\n"; // $html .= ''.$val['name'].''."
"; $xml .=""; $xml .= ''.$site.'/'.$geturl['url'].''; $xml .= ""; $xml .= "daily"; $xml .= "0.9"; $xml .= ""; } foreach($article as $value) { //dump($value); $url .= $site."/".$value['alias']."/".$value['id'].".html"."\r\n"; $xml .= ""; //$html .= ''.$value['post_title'].''."
"; $xml .= ''.$site."/".$value['alias']."/".$value['id'].'.html'; $xml .= ""; $xml .= "".date('Y-m-d',$value['create_time']).""; $xml .= "weekly"; $xml .= "0.8"; $xml .= "
"; } //品牌 $portalCategoryModel = new PortalCategoryModel(); $portalCategory = $portalCategoryModel->where('status', 1)->where('delete_time', 0)->select(); foreach($portalCategory as $val) { $getPortalUrl = 'xmk/cid/'.$val['id']; $url .= $site."/".$getPortalUrl."\r\n"; // $html .= ''.$val['name'].''."
"; $xml .=""; $xml .= ''.$site.'/'.$getPortalUrl.''; $xml .= ""; $xml .= "daily"; $xml .= "0.9"; $xml .= ""; } $portalPostModel = new PortalPostModel(); $where = [ 'a.delete_time' => 0, 'a.post_status' => 1 ]; $field = 'a.id,a.create_time,b.category_id,c.alias'; $article = $portalPostModel->alias('a')->field($field) ->join('portal_category_post b','a.id = b.post_id') ->join('portal_category c','b.category_id = c.id') ->where($where) ->order('a.create_time', 'DESC') ->select(); foreach($article as $value) { //dump($value); $url .= $site."/".$value['alias']."/".$value['id'].".html"."\r\n"; $xml .= ""; //$html .= ''.$value['post_title'].''."
"; $xml .= ''.$site."/".$value['alias']."/".$value['id'].'.html'; $xml .= ""; $xml .= "".date('Y-m-d',$value['create_time']).""; $xml .= "weekly"; $xml .= "0.8"; $xml .= "
"; } $xml .= '
'; $this->updatesjxml($xml); } //公共 private function geturl($url) { // $result = Db::name('route')->where(["full_url"=>$url])->find(); // return $result; return $url; } //pc private function updatexml($data) { $this->writefile('xml',$data); } private function writefile($type,$data) { //dump($_SERVER['DOCUMENT_ROOT']);die; $myfile = fopen($_SERVER['DOCUMENT_ROOT']."/sitemap.".$type, "w") or die("Unable to open file!"); fwrite($myfile, $data); fclose($myfile); echo 'pc xml地图已生成
'.'点击查看'; } //手机 private function updatesjxml($data) { $this->writesjfile('xml',$data); } private function writesjfile($type,$data) { //dump($_SERVER['DOCUMENT_ROOT']);die; $myfile = fopen($_SERVER['DOCUMENT_ROOT']."/sitemaps.".$type, "w") or die("Unable to open file!"); fwrite($myfile, $data); fclose($myfile); echo '手机 xml地图已生成
'.'点击查看'; } }