>  기사  >  php教程  >  Codeigniter Rss,网站地图,路由配置

Codeigniter Rss,网站地图,路由配置

WBOY
WBOY원래의
2016-06-13 10:55:08998검색

_ _,今天在成果不错,完成了网站的三个功能,RSS订阅,自动写网站地图,与路由的配置,好了,现在一 一记录下来.

 

 

 

 

一、路由配置

 

在未设定路由时,路径是这样的

 

 

[php] 

http://www.xiuxiandou.com/content/it/13533/硅谷传奇投资人讲述初创企业家易犯的4大错误   

                   

content =>controller,it=>method,13533=>id,硅谷传奇投资人讲述初创企业家易犯的4大错误=>title  

 

http://www.xiuxiandou.com/content/it/13533/硅谷传奇投资人讲述初创企业家易犯的4大错误

                 

content =>controller,it=>method,13533=>id,硅谷传奇投资人讲述初创企业家易犯的4大错误=>title

设置路由后,访问路径为:

 

 

 

[php] 

http://www.xiuxiandou.com/content-it-13533-硅谷传奇投资人讲述初创企业家易犯的4大错误  

 

http://www.xiuxiandou.com/content-it-13533-硅谷传奇投资人讲述初创企业家易犯的4大错误

其它的类似,路径配置为

 

 

 

[php] 

/*sitemap使用*/  

$route['content-(:any)-(:num)'] = "content/$1/$2";  

/*前台页面显示路由*/  

$route['content-(:any)-(:num)-(:any)'] = "content/$1/$2/$3";  

                  

/*RSS订阅路由*/  

$route['feed-rss-(:any)'] = "feed/rss/$1";  

/*博客路由*/  

$route['blog-(:num)-(:any)'] = "blog/blogview/$1/$2";  

$route['blog-blogtypes-(:any)']="blog/blogtypes/$1";  

                  

/**留言**/  

$route['me'] = "indexs/me";  

/**模板**/  

$route["template"]="indexs/template";  

/**今日更新**/  

$route["indexs-(:any)"]="indexs/$1";  

 

/*sitemap使用*/

$route['content-(:any)-(:num)'] = "content/$1/$2";

/*前台页面显示路由*/

$route['content-(:any)-(:num)-(:any)'] = "content/$1/$2/$3";

                

/*RSS订阅路由*/

$route['feed-rss-(:any)'] = "feed/rss/$1";

/*博客路由*/

$route['blog-(:num)-(:any)'] = "blog/blogview/$1/$2";

$route['blog-blogtypes-(:any)']="blog/blogtypes/$1";

                

/**留言**/

$route['me'] = "indexs/me";

/**模板**/

$route["template"]="indexs/template";

/**今日更新**/

$route["indexs-(:any)"]="indexs/$1";

 

 

二、RSS

 

在libraries目录下创建Rss.php文件,主要负责生成RSS格式的数据内容

 

 

[php]  

/** 

 * Rss 

 */  

class Rss{  

                      

    public function write_rss($in_datas){  

            $CI=& get_instance();  

            $CI->load->helper('xml');  

            $CI->load->helper('text');  

                  

            $xml_str=""  

                    ."";  

            if(!emptyempty($in_datas)){  

                    $xml_str.=""  

                                ."

".$in_datas["feed_name"].""  

                                .""  

                                ."".$in_datas["feed_url"].""  

                                ."".$in_datas["page_description"].""  

                                ."zh-cn "  

                                ."1"  

                                ."hourly "  

                                ."Copyright (C) Xiuxiandou.com. All rights reserved."  

                                ."http://www.xiuxiandou.com";  

                                if(!emptyempty($in_datas["xml_datas"])){  

                                    foreach($in_datas["xml_datas"] as $k => $v){  

                                        foreach($v as $xml){  

                                            $xml_str.=" "  

                                                    ."

subject)."]]> "  

                                                    ."".site_url("content-$k-$xml->id-".xml_convert($CI->mytool->get_title($xml->subject))).""  

                                                    ."".site_url("content-$k-$xml->id-".xml_convert($CI->mytool->get_title($xml->subject))).""  

                                                    ."message, 600))."]]>"  

                                                    ."".date('Y-m-d h:i:s',$xml->dateline)."  "  

                                                    ."$xml->url"  

                                                    ."";  

                                        }  

                                    }  

                                }  

                    $xml_str.="";  

                                 

            }  

            $xml_str.="";  

           return $xml_str;  

    }  

}  

 

/**

 * Rss

 */

class Rss{

                    

    public function write_rss($in_datas){

            $CI=& get_instance();

            $CI->load->helper('xml');

            $CI->load->helper('text');

                

            $xml_str=""

                    ."";

            if(!empty($in_datas)){

                    $xml_str.=""

                                ."

".$in_datas["feed_name"].""

                                .""

                                ."".$in_datas["feed_url"].""

                                ."".$in_datas["page_description"].""

                                ."zh-cn "

                                ."1"

                                ."hourly "

                                ."Copyright (C) Xiuxiandou.com. All rights reserved."

                                ."http://www.xiuxiandou.com";

                                if(!empty($in_datas["xml_datas"])){

                                    foreach($in_datas["xml_datas"] as $k => $v){

                                        foreach($v as $xml){

                                            $xml_str.=" "

                                                    ."

subject)."]]> "

                                                    ."".site_url("content-$k-$xml->id-".xml_convert($CI->mytool->get_title($xml->subject))).""

                                                    ."".site_url("content-$k-$xml->id-".xml_convert($CI->mytool->get_title($xml->subject))).""

                                                    ."message, 600))."]]>"

                                                    ."".date('Y-m-d h:i:s',$xml->dateline)."  "

                                                    ."$xml->url"

                                                    ."";

                                        }

                                    }

                                }

                    $xml_str.="";

                               

            }

            $xml_str.="";

           return $xml_str;

    }

}

 

2、RSS控制类

 

 

 

[php]  

if(!defined('BASEPATH')) exit('No direct script access allowed');  

/** 

 * 2013-2-25:RSS订阅 

 */  

class Feed  extends CI_Controller{  

    public function index(){  

        $it=$this->mcom_model->query_Bywhere(mymsg::BT_ITINFO,array("riqi"=>$this->mytool->get_ymd()));  

        $game=$this->mcom_model->query_Bywhere(mymsg::BT_GAME,array("riqi"=>$this->mytool->get_ymd()));  

        $blog=$this->mcom_model->query_Bywhere(mymsg::BT_BLOG,array("riqi"=>$this->mytool->get_ymd()));  

        $movie=$this->mcom_model->query_Bywhere(mymsg::BT_MOVIE,array("riqi"=>$this->mytool->get_ymd()));  

        $book=$this->mcom_model->query_Bywhere(mymsg::BT_BOOK,array("riqi"=>$this->mytool->get_ymd()));  

        $in_datas["xml_datas"]=array("it"=>$it,"game"=>$game,"blog"=>$blog,"movie"=>$movie,"book"=>$book);  

        $this->_comm($in_datas);  

    }  

    public function rss(){  

       $this->load->helper('xml');  

       $this->load->helper('text');  

       $key= $this->uri->segment(3);  

       $db_table= $key=="it"?"bt_itinfo":"bt_$key";  

       $table_exist=$this->mcom_model->table_exists($db_table);  

       if($table_exist){  

          $in_datas["xml_datas"]=array($key=>$this->mcom_model->query_Bywhere($db_table,array("riqi"=>$this->mytool->get_ymd())));  

          $this->_comm($in_datas);  

       }else{  

         show_404();  

       }  

    }  

                      

    private function _comm($in_datas){  

        $in_datas['feed_name'] = "休闲豆 RSS";   

        $in_datas['feed_url'] = base_url()."free";   

        $in_datas['page_description'] = '休闲豆,IT资讯,IT电子书,游戏种子,电影BT RSS';   

        $in_datas['creator_email'] = '1963612630@qq.com';  

        $in_datas['page_language']="zh-zn";  

        $out_datas["xml"]=$this->rss->write_rss($in_datas);  

        header("Content-Type: text/xml");  

        $this->load->view("rss",$out_datas);  

    }  

}  

 

if(!defined('BASEPATH')) exit('No direct script access allowed');

/**

 * 2013-2-25:RSS订阅

 */

class Feed  extends CI_Controller{

    public function index(){

        $it=$this->mcom_model->query_Bywhere(mymsg::BT_ITINFO,array("riqi"=>$this->mytool->get_ymd()));

        $game=$this->mcom_model->query_Bywhere(mymsg::BT_GAME,array("riqi"=>$this->mytool->get_ymd()));

        $blog=$this->mcom_model->query_Bywhere(mymsg::BT_BLOG,array("riqi"=>$this->mytool->get_ymd()));

        $movie=$this->mcom_model->query_Bywhere(mymsg::BT_MOVIE,array("riqi"=>$this->mytool->get_ymd()));

        $book=$this->mcom_model->query_Bywhere(mymsg::BT_BOOK,array("riqi"=>$this->mytool->get_ymd()));

        $in_datas["xml_datas"]=array("it"=>$it,"game"=>$game,"blog"=>$blog,"movie"=>$movie,"book"=>$book);

        $this->_comm($in_datas);

    }

    public function rss(){

       $this->load->helper('xml');

       $this->load->helper('text');

       $key= $this->uri->segment(3);

       $db_table= $key=="it"?"bt_itinfo":"bt_$key";

       $table_exist=$this->mcom_model->table_exists($db_table);

       if($table_exist){

          $in_datas["xml_datas"]=array($key=>$this->mcom_model->query_Bywhere($db_table,array("riqi"=>$this->mytool->get_ymd())));

          $this->_comm($in_datas);

       }else{

         show_404();

       }

    }

                    

    private function _comm($in_datas){

        $in_datas['feed_name'] = "休闲豆 RSS"; 

        $in_datas['feed_url'] = base_url()."free"; 

        $in_datas['page_description'] = '休闲豆,IT资讯,IT电子书,游戏种子,电影BT RSS'; 

        $in_datas['creator_email'] = '1963612630@qq.com';

        $in_datas['page_language']="zh-zn";

        $out_datas["xml"]=$this->rss->write_rss($in_datas);

        header("Content-Type: text/xml");

        $this->load->view("rss",$out_datas);

    }

}

运行

 

 

 

[html]  

 

 

生成结果如下

 

 

 

[php]  

 

休闲豆 RSS  

 

http://www.xiuxiandou.com/free   

休闲豆,IT资讯,IT电子书,游戏种子,电影BT RSS  

zh-cn  

1  

hourly  

Copyright (C) Xiuxiandou.com. All rights reserved.  

http://www.xiuxiandou.com   

 

  <p>  </p> <p></p>  

 

http://www.xiuxiandou.com/content-it-13533-硅谷传奇投资人讲述初创企业家易犯的4大错误   

 

 

http://www.xiuxiandou.com/content-it-13533-硅谷传奇投资人讲述初创企业家易犯的4大错误   

 

 



'xiuxiandou.com'



Qualys 创始人兼 CEO 菲利普`科尔图特



  北京时间 2 月 25 日消息,据国外媒体报道,美国云计算安全公司…  

]]>  

 

2013-02-25 09:18:49  

http://news.cnblogs.com/n/172129/   

 

....  

 

休闲豆 RSS

http://www.xiuxiandou.com/free

休闲豆,IT资讯,IT电子书,游戏种子,电影BT RSS

zh-cn

1

hourly

Copyright (C) Xiuxiandou.com. All rights reserved.

http://www.xiuxiandou.com

<p></p> <p></p>

http://www.xiuxiandou.com/content-it-13533-硅谷传奇投资人讲述初创企业家易犯的4大错误

http://www.xiuxiandou.com/content-it-13533-硅谷传奇投资人讲述初创企业家易犯的4大错误



'xiuxiandou.com'



Qualys 创始人兼 CEO 菲利普`科尔图特



  北京时间 2 月 25 日消息,据国外媒体报道,美国云计算安全公司…

]]>

2013-02-25 09:18:49

http://news.cnblogs.com/n/172129/

....

 

 

 

 

 3、网站地图     

 

       网站地图主要根据sitemaps.xml协议拼写的XML,协议地址:http://www.sitemaps.org/protocol.html

 

      1、加载libraries目录下的sitemaps.php类,内容如下

 

 

[php]  

            

/** 

 * A class for generating XML sitemaps 

 * 

 * @author Philipp Dörner  

 * @version 0.7 

 * @access public 

 * @package sitemaps 

 */  

class Sitemaps  

{  

    var $items = array();  

            

    function Sitemaps()  

    {  

        $CI =& get_instance();  

                    

        $CI->config->load('sitemaps');  

    }  

            

    /** 

     * Adds a new item to the urlset 

     * 

     * @param array $new_item 

     * @access public 

     */  

    function add_item($new_item)  

    {  

        $this->items[] = $new_item;  

    }  

            

    /** 

     * Adds an array of items to the urlset 

     * 

     * @param array $new_items array of items 

     * @access public 

     */  

    function add_item_array($new_items)  

    {  

        $this->items = array_merge($this->items, $new_items);  

    }  

            

    /** 

     * Generates the sitemap XML data 

     * 

     * @param string $file_name (optional) if file name is supplied the XML data is saved in it otherwise returned as a string 

     * @param bool $gzip (optional) compress sitemap, overwrites config item 'sitemaps_gzip' 

     * @access public 

     * @return string 

     */  

    function build($file_name = null, $gzip = NULL)  

    {  

        $CI =& get_instance();  

        $map = $CI->config->item('sitemaps_header') . "\n";  

            

        foreach($this->items as $item)  

        {  

            $item['loc'] = htmlentities($item['loc'], ENT_QUOTES);  

            $map .= "\t\n\t\t" . $item['loc'] . "\n";  

            

            $attributes = array("lastmod", "changefreq", "priority");  

            

            foreach($attributes AS $attr)  

            {  

                if(isset($item[$attr]))  

                {  

                    $map .= "\t\t" . $item[$attr] . "$attr>\n";  

                }  

            }  

            

            $map .= "\t\n\n";  

        }  

            

        unset($this->items);  

            

        $map .= $CI->config->item('sitemaps_footer');  

            

        if( ! is_null($file_name))  

        {  

            $fh = fopen($file_name, 'a');//w   

            fwrite($fh, $map);  

            fclose($fh);  

            

            if($CI->config->item('sitemaps_filesize_error') && filesize($file_name) > 1024 * 1024 * 30)  

            {  

                show_error('Your sitemap is bigger than 10MB, most search engines will not accept it.');  

            }  

            

            if($gzip OR (is_null($gzip) && $CI->config->item('sitemaps_gzip')))  

            {  

                $gzdata = gzencode($map, 9);  

                $file_gzip = str_replace("{file_name}", $file_name, $CI->config->item('sitemaps_gzip_path'));  

                $fp = fopen($file_gzip, "a");//w   

                fwrite($fp, $gzdata);  

                fclose($fp);  

            

                // Delete the uncompressed sitemap   

                unlink($file_name);  

            

                return $file_gzip;  

            }  

            

            return $file_name;  

        }  

        else  

        {  

            return $map;  

        }  

    }  

            

    /** 

     * Generate a sitemap index file pointing to other sitemaps you previously built 

     * 

     * @param array $urls array of urls, each being an array with at least a loc index 

     * @param string $file_name (optional) if file name is supplied the XML data is saved in it otherwise returned as a string 

     * @param bool $gzip (optional) compress sitemap, overwrites config item 'sitemaps_gzip' 

     * @access public 

     * @return string 

     */  

    function build_index($urls, $file_name = null, $gzip = null)  

    {  

        $CI =& get_instance();  

        $index = $CI->config->item('sitemaps_index_header') . "\n";  

            

        foreach($urls as $url)  

        {  

            $url['loc'] = htmlentities($url['loc'], ENT_QUOTES);  

            $index .= "\t\n\t\t" . $url['loc'] . "\n";  

            

            if(isset($url['lastmod']))  

            {  

                $index .= "\t\t" . $url['lastmod'] . "\n";  

            }  

            

            $index .= "\t\n\n";  

        }  

            

        $index .= $CI->config->item('sitemaps_index_footer');  

            

        if( ! is_null($file_name))  

        {  

            $fh = fopen($file_name, 'w');  

            fwrite($fh, $index);  

            fclose($fh);  

            

            if($CI->config->item('sitemaps_filesize_error') && filesize($file_name) > 1024 * 1024 * 10)  

            {  

                show_error('Your sitemap index is bigger than 10MB, most search engines will not accept it.');  

            }  

            

            if($gzip OR (is_null($gzip) && $CI->config->item('sitemaps_index_gzip')))  

            {  

                $gzdata = gzencode($index, 9);  

                $file_gzip = str_replace("{file_name}", $file_name, $CI->config->item('sitemaps_index_gzip_path'));  

                $fp = fopen($file_gzip, "w");  

                fwrite($fp, $gzdata);  

                fclose($fp);  

            

                // Delete the uncompressed sitemap index   

                unlink($file_name);  

            

                return $file_gzip;  

            }  

            

            return $file_name;  

        }  

        else  

        {  

            return $index;  

        }  

    }  

            

    /** 

     * Notify search engines of your updates sitemap 

     * 

     * @param string $url_xml absolute URL of your sitemap, use Codeigniter's site_url() 

     * @param array $search_engines array of search engines to ping, see config file for notes 

     * @access public 

     * @return array HTTP reponse codes 

     */  

    function ping($url_xml, $search_engines = NULL)  

    {  

        $CI =& get_instance();  

            

        if(is_null($search_engines))  

        {  

            $search_engines = $CI->config->item('sitemaps_search_engines');  

        }  

            

        $statuses = array();  

            

        foreach($search_engines AS $engine)  

        {  

            $status = 0;  

            if($fp = @fsockopen($engine['host'], 80))  

            {  

                $engine['url'] = emptyempty($engine['url']) ? "/ping?sitemap=" : $engine['url'];  

            

                $req =  'GET ' . $engine['url'] .  

                        urlencode($url_xml) . " HTTP/1.1\r\n" .  

                        "Host: " . $engine['host'] . "\r\n" .  

                        $CI->config->item('sitemaps_user_agent') .  

                        "Connection: Close\r\n\r\n";  

                fwrite($fp, $req);  

                while( ! feof($fp))  

                {  

                    if(@preg_match('~^HTTP/\d\.\d (\d+)~i', fgets($fp, 128), $m))  

                    {  

                        $status = intval($m[1]);  

                        break;  

                    }  

                }  

                fclose($fp);  

            }  

            

            $statuses[] = array("host" => $engine['host'], "status" => $status, "request" => $req);  

        }  

            

        if($CI->config->item('sitemaps_log_http_responses') OR $CI->config->item('sitemaps_debug'))  

        {  

            foreach($statuses AS $reponse)  

            {  

                $message = "Sitemaps: " . $reponse['host'] . " responded with HTTP status " . $reponse['status'];  

            

                if($CI->config->item('sitemaps_log_http_responses'))  

                {  

                    $level = $reponse['status'] == 200 ? 'debug' : 'error';  

                    log_message($level, $message);  

                }  

            

                if($CI->config->item('sitemaps_debug'))  

                {  

                    echo "

" . $message . " after request:

\n
" . $reponse['request'] .  "
\n\n";  

                }  

            }  

        }  

            

        return $statuses;  

    }  

}  

 

          

/**

 * A class for generating XML sitemaps

 *

 * @author Philipp Dörner

 * @version 0.7

 * @access public

 * @package sitemaps

 */

class Sitemaps

{

    var $items = array();

          

    function Sitemaps()

    {

        $CI =& get_instance();

                  

        $CI->config->load('sitemaps');

    }

          

    /**

     * Adds a new item to the urlset

     *

     * @param array $new_item

     * @access public

     */

    function add_item($new_item)

    {

        $this->items[] = $new_item;

    }

          

    /**

     * Adds an array of items to the urlset

     *

     * @param array $new_items array of items

     * @access public

     */

    function add_item_array($new_items)

    {

        $this->items = array_merge($this->items, $new_items);

    }

          

    /**

     * Generates the sitemap XML data

     *

     * @param string $file_name (optional) if file name is supplied the XML data is saved in it otherwise returned as a string

     * @param bool $gzip (optional) compress sitemap, overwrites config item 'sitemaps_gzip'

     * @access public

     * @return string

     */

    function build($file_name = null, $gzip = NULL)

    {

        $CI =& get_instance();

        $map = $CI->config->item('sitemaps_header') . "\n";

          

        foreach($this->items as $item)

        {

            $item['loc'] = htmlentities($item['loc'], ENT_QUOTES);

            $map .= "\t\n\t\t" . $item['loc'] . "\n";

          

            $attributes = array("lastmod", "changefreq", "priority");

          

            foreach($attributes AS $attr)

            {

                if(isset($item[$attr]))

                {

                    $map .= "\t\t" . $item[$attr] . "$attr>\n";

                }

            }

          

            $map .= "\t\n\n";

        }

          

        unset($this->items);

          

        $map .= $CI->config->item('sitemaps_footer');

          

        if( ! is_null($file_name))

        {

            $fh = fopen($file_name, 'a');//w

            fwrite($fh, $map);

            fclose($fh);

          

            if($CI->config->item('sitemaps_filesize_error') && filesize($file_name) > 1024 * 1024 * 30)

            {

                show_error('Your sitemap is bigger than 10MB, most search engines will not accept it.');

            }

          

            if($gzip OR (is_null($gzip) && $CI->config->item('sitemaps_gzip')))

            {

                $gzdata = gzencode($map, 9);

                $file_gzip = str_replace("{file_name}", $file_name, $CI->config->item('sitemaps_gzip_path'));

                $fp = fopen($file_gzip, "a");//w

                fwrite($fp, $gzdata);

                fclose($fp);

          

                // Delete the uncompressed sitemap

                unlink($file_name);

          

                return $file_gzip;

            }

          

            return $file_name;

        }

        else

        {

            return $map;

        }

    }

          

    /**

     * Generate a sitemap index file pointing to other sitemaps you previously built

     *

     * @param array $urls array of urls, each being an array with at least a loc index

     * @param string $file_name (optional) if file name is supplied the XML data is saved in it otherwise returned as a string

     * @param bool $gzip (optional) compress sitemap, overwrites config item 'sitemaps_gzip'

     * @access public

     * @return string

     */

    function build_index($urls, $file_name = null, $gzip = null)

    {

        $CI =& get_instance();

        $index = $CI->config->item('sitemaps_index_header') . "\n";

          

        foreach($urls as $url)

        {

            $url['loc'] = htmlentities($url['loc'], ENT_QUOTES);

            $index .= "\t\n\t\t" . $url['loc'] . "\n";

          

            if(isset($url['lastmod']))

            {

                $index .= "\t\t" . $url['lastmod'] . "\n";

            }

          

            $index .= "\t\n\n";

        }

          

        $index .= $CI->config->item('sitemaps_index_footer');

          

        if( ! is_null($file_name))

        {

            $fh = fopen($file_name, 'w');

            fwrite($fh, $index);

            fclose($fh);

          

            if($CI->config->item('sitemaps_filesize_error') && filesize($file_name) > 1024 * 1024 * 10)

            {

                show_error('Your sitemap index is bigger than 10MB, most search engines will not accept it.');

            }

          

            if($gzip OR (is_null($gzip) && $CI->config->item('sitemaps_index_gzip')))

            {

                $gzdata = gzencode($index, 9);

                $file_gzip = str_replace("{file_name}", $file_name, $CI->config->item('sitemaps_index_gzip_path'));

                $fp = fopen($file_gzip, "w");

                fwrite($fp, $gzdata);

                fclose($fp);

          

                // Delete the uncompressed sitemap index

                unlink($file_name);

          

                return $file_gzip;

            }

          

            return $file_name;

        }

        else

        {

            return $index;

        }

    }

          

    /**

     * Notify search engines of your updates sitemap

     *

     * @param string $url_xml absolute URL of your sitemap, use Codeigniter's site_url()

     * @param array $search_engines array of search engines to ping, see config file for notes

     * @access public

     * @return array HTTP reponse codes

     */

    function ping($url_xml, $search_engines = NULL)

    {

        $CI =& get_instance();

          

        if(is_null($search_engines))

        {

            $search_engines = $CI->config->item('sitemaps_search_engines');

        }

          

        $statuses = array();

          

        foreach($search_engines AS $engine)

        {

            $status = 0;

            if($fp = @fsockopen($engine['host'], 80))

            {

                $engine['url'] = empty($engine['url']) ? "/ping?sitemap=" : $engine['url'];

          

                $req =  'GET ' . $engine['url'] .

                        urlencode($url_xml) . " HTTP/1.1\r\n" .

                        "Host: " . $engine['host'] . "\r\n" .

                        $CI->config->item('sitemaps_user_agent') .

                        "Connection: Close\r\n\r\n";

                fwrite($fp, $req);

                while( ! feof($fp))

                {

                    if(@preg_match('~^HTTP/\d\.\d (\d+)~i', fgets($fp, 128), $m))

                    {

                        $status = intval($m[1]);

                        break;

                    }

                }

                fclose($fp);

            }

          

            $statuses[] = array("host" => $engine['host'], "status" => $status, "request" => $req);

        }

          

        if($CI->config->item('sitemaps_log_http_responses') OR $CI->config->item('sitemaps_debug'))

        {

            foreach($statuses AS $reponse)

            {

                $message = "Sitemaps: " . $reponse['host'] . " responded with HTTP status " . $reponse['status'];

          

                if($CI->config->item('sitemaps_log_http_responses'))

                {

                    $level = $reponse['status'] == 200 ? 'debug' : 'error';

                    log_message($level, $message);

                }

          

                if($CI->config->item('sitemaps_debug'))

                {

                    echo "

" . $message . " after request:

\n
" . $reponse['request'] .  "
\n\n";

                }

            }

        }

          

        return $statuses;

    }

}

 

 

 

 

 

  2、sitemap.php控制类,注意这里不要与libraries中的sitemaps.php同名,不然会报错的.

 

 

if(!defined('BASEPATH')) exit('No direct script access allowed');  

/** 

 

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.