Laravel5.8 生成网站XML地图

浏览1323

Laravel5.8 生成网站XML地图,案例,例子。


<?php
    public function sore(){

        $xml = $this->sitemap();
        $file = fopen('sitemap.xml', 'w');
        fwrite($file, $xml);
        fclose($file);
        $server='http://'.$_SERVER['SERVER_NAME'].'/sitemap.xml';
        return response()->json(['code'=>200,'msg'=>'成功生成网站地图','url'=>route('admin.sitemap.index'),'data'=>$server]);
    }
    private function sitemap() {
        $xml = '<?xml version="1.0" encoding="utf-8"?>'."\n";
        $xml .= '<urlset>'."\n";

        // 数据
        $vod=DB::table('vod')->get();
        foreach($vod as $data) {
            $xml .= $this->execute_xml('/vod/detail/'.$data->id)."\n";
        }

        $xml .= '</urlset>'."\n";
        return $xml;
    }


    private function execute_xml($url) {
        $xml_url = '<url>'."\n";
        $xml_url .= '<loc>http://'. $_SERVER['SERVER_NAME'] . $url.'.html' .'</loc>'."\n";
        $xml_url .= '<lastmod>'. date("Y-m-d", time()) .'</lastmod>'."\n";
        $xml_url .= '<changefreq>weekly</changefreq>'."\n";
        $xml_url .= '<priority>0.8</priority>'."\n";
        $xml_url .= '</url>'."\n";
        return $xml_url;
    }

?>



  • 暂无任何回答