這篇文章主要介紹了如何使用php生成sitemap,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比郊區(qū)網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式郊區(qū)網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋郊區(qū)地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴。
class SiteMapController extends Controller { /** * ==============================================XML 格式=========================================================== <?xml version="1.0" encoding="utf-8"?> <!-- XML文件需以u(píng)tf-8編碼--> <urlset> <!--必填標(biāo)簽--> <url> <!--必填標(biāo)簽,這是具體某一個(gè)鏈接的定義入口,每一條數(shù)據(jù)都要用<url>和</url>包含在里面,這是必須的 --> <loc>http://www.yoursite.com/yoursite.html</loc> <!--必填,URL鏈接地址,長(zhǎng)度不得超過256字節(jié)--> <lastmod>2009-12-14</lastmod> <!--可以不提交該標(biāo)簽,用來指定該鏈接的最后更新時(shí)間--> <changefreq>daily</changefreq> <!--可以不提交該標(biāo)簽,用這個(gè)標(biāo)簽告訴此鏈接可能會(huì)出現(xiàn)的更新頻率 --> <priority>0.8</priority> <!--可以不提交該標(biāo)簽,用來指定此鏈接相對(duì)于其他鏈接的優(yōu)先權(quán)比值,此值定于0.0-1.0之間--> </url> <url> <loc>http://www.yoursite.com/yoursite2.html</loc> <lastmod>2010-05-01</lastmod> <changefreq>daily</changefreq> <priority>0.8</priority> </url> </urlset> */ private function cateModel(){ return new Cate(); } private function articleModel(){ return new Article(); } /** * */ public function createSiteMap(){ $allUrlData = array_merge($this->mastUrl(),$this->getADList(),$this->getArticleList(),$this->getCateList()); // prt(count($allUrlData)); $allUrlData = array_unique($allUrlData, SORT_REGULAR); // prt(count($allUrlData)); $this->createSiteMapXML($allUrlData); // $this->createSiteMapTxt($allUrlData); $this->createSiteMapHtml($allUrlData); } /** * @return array */ private function mastUrl(){ return []; } /** * 廣告數(shù)據(jù) */ private function getADList(){ $adPosList = $this->adModel()->adPosUrlList(); $adInfoList = $this->adModel()->adInfoUrlList(); $adUrlList = array_merge($adPosList,$adInfoList); array_walk($adUrlList,function (&$val){ $val['weight'] = 0.8; }); return $adUrlList; } /** * 文章數(shù)據(jù) */ private function getArticleList(){ $articleUrlList = $this->articleModel()->articleUrlList(); $articleTagUrlList = $this->articleModel()->articleTagUrlList(); $articleUrlList = array_merge($articleUrlList,$articleTagUrlList); array_walk($articleUrlList,function (&$val){ $val['weight'] = 0.8; }); return $articleUrlList; } /** * 欄目數(shù)據(jù) */ private function getCateList(){ $cateUrlList = $this->cateModel()->cateUrlList(); array_walk($cateUrlList,function (&$val){ $val['weight'] = 0.8; }); return $cateUrlList; } /** * @param $allUrlData */ private function createSiteMapXML($allUrlData){ if (!$allUrlData){return false;} $xmlTemplate = "<?xml version='1.0' encoding='utf-8'?>\n"; $xmlTemplate .= "<urlset xmlns='http://www.sitemaps.org/schemas/sitemap/0.9'>\n"; foreach ($allUrlData as $val){ $xmlTemplate .= "<url>\n"; if(mb_strpos($val['url'],'&') !== false){ $val['url'] = str_replace('&','&',$val['url']); } $xmlTemplate .= "<loc>".$val['url']."</loc>\n"; $xmlTemplate .= "<lastmod>".date('Y-m-d')."</lastmod>\n"; $xmlTemplate .= "<changefreq>daily</changefreq>\n"; $xmlTemplate .= "<priority>".$val['weight']."</priority>\n"; $xmlTemplate .= "</url>\n"; } $xmlTemplate .= "</urlset>\n"; $siteMapXML = fopen("sitemap.xml", "w+") or die("無法寫入sitemap.xml"); fwrite($siteMapXML, $xmlTemplate); fclose($siteMapXML); } private function createSiteMapTxt($allUrlData){ if (!$allUrlData){return false;} $txtTemplate = ''; foreach ($allUrlData as $val){ $txtTemplate .= $val['url']."\n"; } $siteMapTxt = fopen("sitemap.txt", "w+") or die("無法寫入sitemap.txt"); fwrite($siteMapTxt, chr(0xEF).chr(0xBB).chr(0xBF)); fwrite($siteMapTxt, $txtTemplate); fclose($siteMapTxt); } private function createSiteMapHtml($allUrlData){ if (!$allUrlData){return false;} $xmlTemplate = "<!DOCTYPE html>\n"; $xmlTemplate .= "<html>\n"; $xmlTemplate .= "<head>\n"; $xmlTemplate .= "<meta charset='utf-8'/>\n"; $xmlTemplate .= "<title></title>\n"; $xmlTemplate .= "<style>a{color:rgb(0, 0, 238);font-size:13px;}</style>\n"; $xmlTemplate .= "</head>\n"; $xmlTemplate .= "<body>\n"; $xmlTemplate .= "<ol>\n"; foreach ($allUrlData as $val){ $xmlTemplate .= "<li><a href='".$val['url']."'>".$val['name']."</a></li>\n"; } $xmlTemplate .= "</ol>\n"; $xmlTemplate .= "</html>\n"; $siteMapXML = fopen("sitemap.html", "w+") or die("無法寫入sitemap.html"); fwrite($siteMapXML, $xmlTemplate); fclose($siteMapXML); } }
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“如何使用php生成sitemap”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!
網(wǎng)站名稱:如何使用php生成sitemap
標(biāo)題來源:http://www.rwnh.cn/article42/gpogec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、商城網(wǎng)站、品牌網(wǎng)站建設(shè)、企業(yè)建站、響應(yīng)式網(wǎng)站、動(dòng)態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)