Rumah php教程 php手册 Codeigniter Rss,网站地图,路由配置

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

Jun 13, 2016 am 10:55 AM
codeigniter rss Fungsi wujud peta jaring laman web penghalaan Konfigurasi

_ _,今天在成果不错,完成了网站的三个功能,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'] .  "
Salin selepas log masuk
Salin selepas log masuk
\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'] .  "
Salin selepas log masuk
Salin selepas log masuk
\n\n";

                }

            }

        }

          

        return $statuses;

    }

}

 

 

 

 

 

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

 

 

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

/** 

 

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menjadikan Peta Google sebagai peta lalai dalam iPhone Bagaimana untuk menjadikan Peta Google sebagai peta lalai dalam iPhone Apr 17, 2024 pm 07:34 PM

Peta lalai pada iPhone ialah Peta, pembekal geolokasi proprietari Apple. Walaupun peta semakin baik, ia tidak berfungsi dengan baik di luar Amerika Syarikat. Ia tiada apa-apa untuk ditawarkan berbanding Peta Google. Dalam artikel ini, kami membincangkan langkah yang boleh dilaksanakan untuk menggunakan Peta Google untuk menjadi peta lalai pada iPhone anda. Cara Menjadikan Peta Google Peta Lalai dalam iPhone Menetapkan Peta Google sebagai aplikasi peta lalai pada telefon anda adalah lebih mudah daripada yang anda fikirkan. Ikut langkah di bawah – Langkah prasyarat – Anda mesti memasang Gmail pada telefon anda. Langkah 1 – Buka AppStore. Langkah 2 – Cari “Gmail”. Langkah 3 – Klik di sebelah apl Gmail

Perbezaan antara vivox100s dan x100: perbandingan prestasi dan analisis fungsi Perbezaan antara vivox100s dan x100: perbandingan prestasi dan analisis fungsi Mar 23, 2024 pm 10:27 PM

Kedua-dua telefon bimbit vivox100s dan x100 adalah model yang mewakili dalam barisan produk telefon mudah alih vivo, masing-masing mewakili tahap teknologi canggih vivo dalam tempoh masa yang berbeza. Artikel ini akan menjalankan perbandingan terperinci antara kedua-dua telefon mudah alih ini dari segi perbandingan prestasi dan analisis fungsi untuk membantu pengguna memilih telefon mudah alih yang sesuai dengan mereka dengan lebih baik. Mula-mula, mari kita lihat perbandingan prestasi antara vivox100s dan x100. vivox100s dilengkapi dengan yang terbaru

Fahami Linux Bashrc: fungsi, konfigurasi dan penggunaan Fahami Linux Bashrc: fungsi, konfigurasi dan penggunaan Mar 20, 2024 pm 03:30 PM

Memahami Linux Bashrc: Fungsi, Konfigurasi dan Penggunaan Dalam sistem Linux, Bashrc (BourneAgainShellruncommands) ialah fail konfigurasi yang sangat penting, yang mengandungi pelbagai arahan dan tetapan yang dijalankan secara automatik apabila sistem dimulakan. Fail Bashrc biasanya terletak dalam direktori rumah pengguna dan merupakan fail tersembunyi Fungsinya adalah untuk menyesuaikan persekitaran Bashshell untuk pengguna. 1. Persekitaran tetapan fungsi Bashrc

Apakah sebenarnya media kendiri? Apakah ciri dan fungsi utamanya? Apakah sebenarnya media kendiri? Apakah ciri dan fungsi utamanya? Mar 21, 2024 pm 08:21 PM

Dengan perkembangan pesat Internet, konsep media kendiri telah berakar umbi dalam hati orang ramai. Jadi, apakah sebenarnya media kendiri? Apakah ciri dan fungsi utamanya? Seterusnya, kita akan meneroka isu-isu ini satu demi satu. 1. Apakah sebenarnya media kendiri? Kami-media, seperti namanya, bermakna anda adalah media. Ia merujuk kepada pembawa maklumat yang melaluinya individu atau pasukan boleh mencipta, mengedit, menerbitkan dan menyebarkan kandungan secara bebas melalui platform Internet. Berbeza dengan media tradisional, seperti akhbar, televisyen, radio, dan lain-lain, media kendiri lebih interaktif dan diperibadikan, membolehkan semua orang menjadi pengeluar dan penyebar maklumat. 2. Apakah ciri dan fungsi utama media kendiri? 1. Ambang rendah: Peningkatan media kendiri telah menurunkan ambang untuk memasuki industri media Peralatan yang rumit dan pasukan profesional tidak lagi diperlukan.

Apakah fungsi perisian pengurusan akaun Xiaohongshu? Bagaimana untuk mengendalikan akaun Xiaohongshu? Apakah fungsi perisian pengurusan akaun Xiaohongshu? Bagaimana untuk mengendalikan akaun Xiaohongshu? Mar 21, 2024 pm 04:16 PM

Memandangkan Xiaohongshu menjadi popular di kalangan golongan muda, semakin ramai orang mula menggunakan platform ini untuk berkongsi pelbagai aspek pengalaman dan pandangan hidup mereka. Cara mengurus berbilang akaun Xiaohongshu dengan berkesan telah menjadi isu utama. Dalam artikel ini, kami akan membincangkan beberapa ciri perisian pengurusan akaun Xiaohongshu dan meneroka cara mengurus akaun Xiaohongshu anda dengan lebih baik. Apabila media sosial berkembang, ramai orang mendapati diri mereka perlu mengurus berbilang akaun sosial. Ini juga merupakan satu cabaran untuk pengguna Xiaohongshu. Sesetengah perisian pengurusan akaun Xiaohongshu boleh membantu pengguna mengurus berbilang akaun dengan lebih mudah, termasuk penerbitan kandungan automatik, penerbitan berjadual, analisis data dan fungsi lain. Melalui alatan ini, pengguna boleh mengurus akaun mereka dengan lebih cekap dan meningkatkan pendedahan dan perhatian akaun mereka. Di samping itu, perisian pengurusan akaun Xiaohongshu mempunyai

Bagaimana untuk menambah alamat kedai pada peta Xiaohongshu? Bagaimana untuk mengisi tetapan alamat kedai? Bagaimana untuk menambah alamat kedai pada peta Xiaohongshu? Bagaimana untuk mengisi tetapan alamat kedai? Mar 29, 2024 am 09:41 AM

Memandangkan Xiaohongshu menjadi semakin popular di kalangan golongan muda, semakin ramai orang memilih untuk membuka kedai di Xiaohongshu. Ramai penjual baru menghadapi kesukaran semasa menyediakan alamat kedai mereka dan tidak tahu cara menambahkan alamat kedai pada peta. 1. Bagaimana untuk menambah alamat kedai pada peta di Xiaohongshu? 1. Pertama, pastikan kedai anda mempunyai akaun berdaftar di Xiaohongshu dan telah berjaya membuka kedai. 2. Log masuk ke akaun Xiaohongshu anda, masukkan bahagian belakang kedai, dan cari pilihan "Tetapan Kedai". 3. Pada halaman tetapan kedai, cari lajur "Alamat Kedai" dan klik "Tambah Alamat". 4. Dalam halaman menambah alamat yang muncul, isikan maklumat alamat terperinci kedai, termasuk wilayah, bandar, daerah, daerah, jalan, nombor rumah, dsb. 5. Selepas mengisi, klik butang "Confirm Add". Xiaohongshu akan memberikan anda alamat

Bagaimana untuk mengkonfigurasi dan memasang FTPS dalam sistem Linux Bagaimana untuk mengkonfigurasi dan memasang FTPS dalam sistem Linux Mar 20, 2024 pm 02:03 PM

Tajuk: Cara mengkonfigurasi dan memasang FTPS dalam sistem Linux, contoh kod khusus diperlukan Dalam sistem Linux, FTPS ialah protokol pemindahan fail yang selamat Berbanding dengan FTP, FTPS menyulitkan data yang dihantar melalui protokol TLS/SSL, yang menambah baik. Keselamatan penghantaran data. Dalam artikel ini, kami akan memperkenalkan cara mengkonfigurasi dan memasang FTPS dalam sistem Linux dan memberikan contoh kod khusus. Langkah 1: Pasang vsftpd Buka terminal dan masukkan arahan berikut untuk memasang vsftpd: sudo

Cara menggunakan arah sepintas lalu di Peta Google Cara menggunakan arah sepintas lalu di Peta Google Jun 13, 2024 pm 09:40 PM

Setahun selepas pelancarannya, Peta Google telah melancarkan ciri baharu. Sebaik sahaja anda menetapkan laluan ke destinasi anda pada peta, ia meringkaskan laluan perjalanan anda. Setelah perjalanan anda bermula, anda boleh "Semak imbas" panduan laluan daripada skrin kunci telefon anda. Anda boleh menggunakan Peta Google untuk melihat anggaran masa ketibaan dan laluan anda. Sepanjang perjalanan anda, anda boleh melihat maklumat navigasi pada skrin kunci anda dan dengan membuka kunci telefon anda, anda boleh melihat maklumat navigasi tanpa mengakses Peta Google. Dengan membuka kunci telefon anda, anda boleh melihat maklumat navigasi tanpa mengakses Peta Google. Dengan membuka kunci telefon anda, anda boleh melihat maklumat navigasi tanpa mengakses Peta Google Dengan membuka kunci telefon anda, anda boleh melihat maklumat navigasi tanpa mengakses Peta Google Dengan membuka kunci telefon anda, anda boleh melihat maklumat navigasi tanpa mengakses Peta Google anda. anda boleh melihat maklumat navigasi tanpa mengakses Peta Google.

See all articles