Home Backend Development PHP Tutorial Codeigniter Rss, site map, routing configuration_PHP tutorial

Codeigniter Rss, site map, routing configuration_PHP tutorial

Jul 14, 2016 am 10:09 AM
codeigniter rss Function exist map net website routing Configuration

_ _, I have achieved good results today. I have completed the three functions of the website, RSS subscription, automatic writing of website map, and routing configuration. Okay, now I will record them one by one.

1. Routing configuration
When no routing is set, the path is like this
[php]
http://www.xiuxiandou.com/content/it/13533/The legendary investor in Silicon Valley talks about the 4 major mistakes that start-up entrepreneurs often make
                                                         
content =>controller,it=>method,13533=>id, the legendary investor in Silicon Valley talks about the 4 major mistakes that start-up entrepreneurs often make=>title
http://www.xiuxiandou.com/content/it/13533/The legendary investor in Silicon Valley talks about the 4 major mistakes that start-up entrepreneurs often make
                                                         
content =>controller,it=>method,13533=>id, Silicon Valley legendary investor talks about the 4 major mistakes that start-up entrepreneurs often make=>title
After setting the routing, the access path is:
[php]
http://www.xiuxiandou.com/content-it-13533-The legendary investor in Silicon Valley talks about the 4 major mistakes that start-up entrepreneurs often make
http://www.xiuxiandou.com/content-it-13533-The legendary investor in Silicon Valley talks about the 4 major mistakes that start-up entrepreneurs often make
Others are similar, the path configuration is
[php]
/*sitemap usage*/
$route['content-(:any)-(:num)'] = "content/$1/$2";
/*Display routing on the front page*/
$route['content-(:any)-(:num)-(:any)'] = "content/$1/$2/$3";
                                                       
/*RSS subscription route*/
$route['feed-rss-(:any)'] = "feed/rss/$1";
/*Blog routing*/
$route['blog-(:num)-(:any)'] = "blog/blogview/$1/$2";
$route['blog-blogtypes-(:any)']="blog/blogtypes/$1";
                                                       
/**message**/
$route['me'] = "indexs/me";
/**template**/
$route["template"]="indexs/template";
/**Today's update**/
$route["indexs-(:any)"]="indexs/$1";
/*sitemap usage*/
$route['content-(:any)-(:num)'] = "content/$1/$2";
/*Display routing on the front page*/
$route['content-(:any)-(:num)-(:any)'] = "content/$1/$2/$3";
                                                       
/*RSS subscription routing*/
$route['feed-rss-(:any)'] = "feed/rss/$1";
/*Blog routing*/
$route['blog-(:num)-(:any)'] = "blog/blogview/$1/$2";
$route['blog-blogtypes-(:any)']="blog/blogtypes/$1";
                                                       
/**message**/
$route['me'] = "indexs/me";
/**template**/
$route["template"]="indexs/template";
/**Today's update**/
$route["indexs-(:any)"]="indexs/$1";
2. RSS
Create the Rss.php file in the libraries directory, which is mainly responsible for generating data content in RSS format
[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.=" "  
                                                    ."<![CDATA[ ".xml_convert($xml->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.=" "
                                                    ."<![CDATA[ ".xml_convert($xml->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 Subscription
*/  
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 subscription
*/
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   
 
 </div> <div><![CDATA[ 硅谷传奇投资人讲述初创企业家易犯的4大错误 ]]>  </div> <div>  
 
http://www.xiuxiandou.com/content-it-13533-硅谷传奇投资人讲述初创企业家易犯的4大错误   
 
 
http://www.xiuxiandou.com/content-it-13533-硅谷传奇投资人讲述初创企业家易犯的4大错误   
 
 


xiuxiandou.com



Qualys founder and CEO Philippe Cortout



February 25, Beijing time News, according to foreign media reports, an American cloud computing security company...

]]>
2013-02-25 09:18:49
http://news.cnblogs.com/n/172129/
....
Casual Bean RSS
http://www.xiuxiandou.com/free
Casual beans, IT information, IT e-books, game seeds, movie BT RSS
zh-cn
1
hourly
Copyright (C) Xiuxiandou.com. All rights reserved.
http://www.xiuxiandou.com
</div> <div><![CDATA[Silicon Valley legendary investor talks about the 4 biggest mistakes startup entrepreneurs make]]></div> <div>
http://www.xiuxiandou.com/content-it-13533-The legendary investor in Silicon Valley talks about the 4 major mistakes that start-up entrepreneurs often make
http://www.xiuxiandou.com/content-it-13533-The legendary investor in Silicon Valley talks about the 4 major mistakes that start-up entrepreneurs often make


xiuxiandou.com



Qualys founder and CEO Philippe Cortout



February 25, Beijing time News, according to foreign media reports, an American cloud computing security company...

]]>
2013-02-25 09:18:49
http://news.cnblogs.com/n/172129/
....
3. Site map
The site map is mainly XML spelled according to the sitemaps.xml protocol. The protocol address: http://www.sitemaps.org/protocol.html
1. Load the sitemaps.php class in the libraries directory, the content is as follows
[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 .= "tntt" . $item['loc'] . "n";  
            
            $attributes = array("lastmod", "changefreq", "priority");  
            
            foreach($attributes AS $attr)  
            {  
                if(isset($item[$attr]))  
                {  
                    $map .= "tt<$attr>" . $item[$attr] . "n";  
                }  
            }  
            
            $map .= "tnn";  
        }  
            
        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 .= "tntt" . $url['loc'] . "n";  
            
            if(isset($url['lastmod']))  
            {  
                $index .= "tt" . $url['lastmod'] . "n";  
            }  
            
            $index .= "tnn";  
        }  
            
        $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.1rn" .  
                        "Host: " . $engine['host'] . "rn" .  
                        $CI->config->item('sitemaps_user_agent') .  
                        "Connection: Closernrn";  
                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'] .  "
nn";  
                }  
            }  
        }  
            
        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 .= "tntt" . $item['loc'] . "n";
          
            $attributes = array("lastmod", "changefreq", "priority");
          
            foreach($attributes AS $attr)
            {
                if(isset($item[$attr]))
                {
                    $map .= "tt<$attr>" . $item[$attr] . "n";
                }
            }
          
            $map .= "tnn";
        }
          
        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 .= "tntt" . $url['loc'] . "n";
          
            if(isset($url['lastmod']))
            {
                $index .= "tt" . $url['lastmod'] . "n";
            }
          
            $index .= "tnn";
        }
          
        $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.1rn" .
                        "Host: " . $engine['host'] . "rn" .
                        $CI->config->item('sitemaps_user_agent') .
                        "Connection: Closernrn";
                fwrite($fp, $req);
                while( ! feof($fp))
                {
                    if(@preg_match
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to make Google Maps the default map in iPhone How to make Google Maps the default map in iPhone Apr 17, 2024 pm 07:34 PM

The default map on the iPhone is Maps, Apple's proprietary geolocation provider. Although the map is getting better, it doesn't work well outside the United States. It has nothing to offer compared to Google Maps. In this article, we discuss the feasible steps to use Google Maps to become the default map on your iPhone. How to Make Google Maps the Default Map in iPhone Setting Google Maps as the default map app on your phone is easier than you think. Follow the steps below – Prerequisite steps – You must have Gmail installed on your phone. Step 1 – Open the AppStore. Step 2 – Search for “Gmail”. Step 3 – Click next to Gmail app

The difference between vivox100s and x100: performance comparison and function analysis The difference between vivox100s and x100: performance comparison and function analysis Mar 23, 2024 pm 10:27 PM

Both vivox100s and x100 mobile phones are representative models in vivo's mobile phone product line. They respectively represent vivo's high-end technology level in different time periods. Therefore, the two mobile phones have certain differences in design, performance and functions. This article will conduct a detailed comparison between these two mobile phones in terms of performance comparison and function analysis to help consumers better choose the mobile phone that suits them. First, let’s look at the performance comparison between vivox100s and x100. vivox100s is equipped with the latest

Understand Linux Bashrc: functions, configuration and usage Understand Linux Bashrc: functions, configuration and usage Mar 20, 2024 pm 03:30 PM

Understanding Linux Bashrc: Function, Configuration and Usage In Linux systems, Bashrc (BourneAgainShellruncommands) is a very important configuration file, which contains various commands and settings that are automatically run when the system starts. The Bashrc file is usually located in the user's home directory and is a hidden file. Its function is to customize the Bashshell environment for the user. 1. Bashrc function setting environment

What exactly is self-media? What are its main features and functions? What exactly is self-media? What are its main features and functions? Mar 21, 2024 pm 08:21 PM

With the rapid development of the Internet, the concept of self-media has become deeply rooted in people's hearts. So, what exactly is self-media? What are its main features and functions? Next, we will explore these issues one by one. 1. What exactly is self-media? We-media, as the name suggests, means you are the media. It refers to an information carrier through which individuals or teams can independently create, edit, publish and disseminate content through the Internet platform. Different from traditional media, such as newspapers, television, radio, etc., self-media is more interactive and personalized, allowing everyone to become a producer and disseminator of information. 2. What are the main features and functions of self-media? 1. Low threshold: The rise of self-media has lowered the threshold for entering the media industry. Cumbersome equipment and professional teams are no longer needed.

What are the functions of Xiaohongshu account management software? How to operate a Xiaohongshu account? What are the functions of Xiaohongshu account management software? How to operate a Xiaohongshu account? Mar 21, 2024 pm 04:16 PM

As Xiaohongshu becomes popular among young people, more and more people are beginning to use this platform to share various aspects of their experiences and life insights. How to effectively manage multiple Xiaohongshu accounts has become a key issue. In this article, we will discuss some of the features of Xiaohongshu account management software and explore how to better manage your Xiaohongshu account. As social media grows, many people find themselves needing to manage multiple social accounts. This is also a challenge for Xiaohongshu users. Some Xiaohongshu account management software can help users manage multiple accounts more easily, including automatic content publishing, scheduled publishing, data analysis and other functions. Through these tools, users can manage their accounts more efficiently and increase their account exposure and attention. In addition, Xiaohongshu account management software has

How to add store address to Xiaohongshu map? How to fill in the store address setting? How to add store address to Xiaohongshu map? How to fill in the store address setting? Mar 29, 2024 am 09:41 AM

As Xiaohongshu becomes more and more popular among young people, more and more people choose to open stores on Xiaohongshu. Many novice sellers encounter difficulties when setting up their store address and do not know how to add the store address to the map. 1. How to add the store address to the map in Xiaohongshu? 1. First, make sure your store has a registered account on Xiaohongshu and has successfully opened a store. 2. Log in to your Xiaohongshu account, enter the store backend, and find the "Store Settings" option. 3. On the store settings page, find the "Store Address" column and click "Add Address". 4. In the address adding page that pops up, fill in the detailed address information of the store, including province, city, district, county, street, house number, etc. 5. After filling in, click the "Confirm Add" button. Xiaohongshu will provide you with the address

How to configure and install FTPS in Linux system How to configure and install FTPS in Linux system Mar 20, 2024 pm 02:03 PM

Title: How to configure and install FTPS in Linux system, specific code examples are required. In Linux system, FTPS is a secure file transfer protocol. Compared with FTP, FTPS encrypts the transmitted data through TLS/SSL protocol, which improves Security of data transmission. In this article, we will introduce how to configure and install FTPS in a Linux system and provide specific code examples. Step 1: Install vsftpd Open the terminal and enter the following command to install vsftpd: sudo

What is PHP used for? Explore the role and functions of PHP What is PHP used for? Explore the role and functions of PHP Mar 24, 2024 am 11:39 AM

PHP is a server-side scripting language widely used in web development. Its main function is to generate dynamic web content. When combined with HTML, it can create rich and colorful web pages. PHP is powerful. It can perform various database operations, file operations, form processing and other tasks, providing powerful interactivity and functionality for websites. In the following articles, we will further explore the role and functions of PHP, with detailed code examples. First, let’s take a look at a common use of PHP: dynamic web page generation: P

See all articles