Maison développement back-end tutoriel php Codeigniter Rss,网站地图,路由配置_PHP教程

Codeigniter Rss,网站地图,路由配置_PHP教程

Jul 14, 2016 am 10:09 AM
codeigniter rss 功能 exister 地图 filet 网站 路由 配置

_ _,今天在成果不错,完成了网站的三个功能,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   
 
 
 
 
 
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
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'] .  "
Copier après la connexion
\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
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment faire de Google Maps la carte par défaut sur iPhone Comment faire de Google Maps la carte par défaut sur iPhone Apr 17, 2024 pm 07:34 PM

La carte par défaut sur l'iPhone est Maps, le fournisseur de géolocalisation propriétaire d'Apple. Même si la carte s’améliore, elle ne fonctionne pas bien en dehors des États-Unis. Il n'a rien à offrir par rapport à Google Maps. Dans cet article, nous discutons des étapes réalisables pour utiliser Google Maps afin de devenir la carte par défaut sur votre iPhone. Comment faire de Google Maps la carte par défaut sur iPhone Définir Google Maps comme application cartographique par défaut sur votre téléphone est plus facile que vous ne le pensez. Suivez les étapes ci-dessous – Étapes préalables – Vous devez avoir Gmail installé sur votre téléphone. Étape 1 – Ouvrez l'AppStore. Étape 2 – Recherchez « Gmail ». Étape 3 – Cliquez à côté de l'application Gmail

La différence entre vivox100s et x100 : comparaison des performances et analyse des fonctions La différence entre vivox100s et x100 : comparaison des performances et analyse des fonctions Mar 23, 2024 pm 10:27 PM

Les téléphones mobiles vivox100 et x100 sont des modèles représentatifs de la gamme de produits de téléphonie mobile de Vivo. Ils représentent respectivement les niveaux de technologie haut de gamme de Vivo à différentes périodes. Par conséquent, ces deux téléphones mobiles présentent certaines différences en termes de conception, de performances et de fonctions. Cet article procédera à une comparaison détaillée entre ces deux téléphones mobiles en termes de comparaison des performances et d'analyse des fonctions pour aider les consommateurs à mieux choisir le téléphone mobile qui leur convient. Tout d’abord, examinons la comparaison des performances entre les vivox100 et x100. vivox100s est équipé des dernières

Comprendre Linux Bashrc : fonctions, configuration et utilisation Comprendre Linux Bashrc : fonctions, configuration et utilisation Mar 20, 2024 pm 03:30 PM

Comprendre Linux Bashrc : fonction, configuration et utilisation Dans les systèmes Linux, Bashrc (BourneAgainShellruncommands) est un fichier de configuration très important, qui contient diverses commandes et paramètres qui sont automatiquement exécutés au démarrage du système. Le fichier Bashrc se trouve généralement dans le répertoire personnel de l'utilisateur et est un fichier caché. Sa fonction est de personnaliser l'environnement Bashshell pour l'utilisateur. 1. Environnement de configuration des fonctions Bashrc

Qu'est-ce que l'auto-média exactement ? Quelles sont ses principales caractéristiques et fonctions ? Qu'est-ce que l'auto-média exactement ? Quelles sont ses principales caractéristiques et fonctions ? Mar 21, 2024 pm 08:21 PM

Avec le développement rapide d'Internet, le concept d'auto-média est devenu profondément ancré dans le cœur des gens. Alors, qu’est-ce que l’auto-média exactement ? Quelles sont ses principales caractéristiques et fonctions ? Ensuite, nous explorerons ces questions une par une. 1. Qu’est-ce que l’auto-média exactement ? Nous-médias, comme son nom l’indique, signifie que vous êtes les médias. Il fait référence à un support d'informations grâce auquel des individus ou des équipes peuvent créer, éditer, publier et diffuser de manière indépendante du contenu via la plateforme Internet. Différent des médias traditionnels, tels que les journaux, la télévision, la radio, etc., les automédias sont plus interactifs et personnalisés, permettant à chacun de devenir producteur et diffuseur d'informations. 2. Quelles sont les principales caractéristiques et fonctions du self-média ? 1. Seuil bas : L’essor des médias autonomes a abaissé le seuil d’entrée dans l’industrie des médias. Des équipements encombrants et des équipes professionnelles ne sont plus nécessaires.

Quelles sont les fonctions du logiciel de gestion de compte Xiaohongshu ? Comment gérer un compte Xiaohongshu ? Quelles sont les fonctions du logiciel de gestion de compte Xiaohongshu ? Comment gérer un compte Xiaohongshu ? Mar 21, 2024 pm 04:16 PM

À mesure que Xiaohongshu devient populaire parmi les jeunes, de plus en plus de personnes commencent à utiliser cette plateforme pour partager divers aspects de leurs expériences et de leurs idées de vie. Comment gérer efficacement plusieurs comptes Xiaohongshu est devenu une question clé. Dans cet article, nous aborderons certaines des fonctionnalités du logiciel de gestion de compte Xiaohongshu et explorerons comment mieux gérer votre compte Xiaohongshu. À mesure que les médias sociaux se développent, de nombreuses personnes doivent gérer plusieurs comptes sociaux. C'est également un défi pour les utilisateurs de Xiaohongshu. Certains logiciels de gestion de compte Xiaohongshu peuvent aider les utilisateurs à gérer plusieurs comptes plus facilement, notamment la publication automatique de contenu, la publication programmée, l'analyse des données et d'autres fonctions. Grâce à ces outils, les utilisateurs peuvent gérer leurs comptes plus efficacement et accroître l'exposition et l'attention de leur compte. De plus, le logiciel de gestion de compte Xiaohongshu a

Comment ajouter l'adresse du magasin à la carte de Xiaohongshu ? Comment renseigner les paramètres d'adresse du magasin ? Comment ajouter l'adresse du magasin à la carte de Xiaohongshu ? Comment renseigner les paramètres d'adresse du magasin ? Mar 29, 2024 am 09:41 AM

Alors que Xiaohongshu devient de plus en plus populaire parmi les jeunes, de plus en plus de personnes choisissent d'ouvrir des magasins à Xiaohongshu. De nombreux vendeurs débutants rencontrent des difficultés lors de la configuration de l'adresse de leur magasin et ne savent pas comment ajouter l'adresse du magasin à la carte. 1. Comment ajouter l'adresse du magasin à la carte à Xiaohongshu ? 1. Tout d’abord, assurez-vous que votre magasin dispose d’un compte enregistré sur Xiaohongshu et qu’il a ouvert avec succès un magasin. 2. Connectez-vous à votre compte Xiaohongshu, entrez dans le backend du magasin et recherchez l'option « Paramètres du magasin ». 3. Sur la page des paramètres du magasin, recherchez la colonne « Adresse du magasin » et cliquez sur « Ajouter une adresse ». 4. Dans la page d'ajout d'adresse qui apparaît, remplissez les informations détaillées sur l'adresse du magasin, y compris la province, la ville, le district, le comté, la rue, le numéro de maison, etc. 5. Après avoir rempli, cliquez sur le bouton « Confirmer l'ajout ». Xiaohongshu vous fournira l'adresse

Comment configurer et installer FTPS sur le système Linux Comment configurer et installer FTPS sur le système Linux Mar 20, 2024 pm 02:03 PM

Titre : Comment configurer et installer FTPS dans le système Linux, des exemples de code spécifiques sont requis. Dans le système Linux, FTPS est un protocole de transfert de fichiers sécurisé. Par rapport à FTP, FTPS crypte les données transmises via le protocole TLS/SSL, ce qui améliore la sécurité des données. transmission. Dans cet article, nous présenterons comment configurer et installer FTPS dans un système Linux et fournirons des exemples de code spécifiques. Étape 1 : Installer vsftpd Ouvrez le terminal et entrez la commande suivante pour installer vsftpd : sudo

A quoi sert PHP ? Explorez le rôle et les fonctions de PHP A quoi sert PHP ? Explorez le rôle et les fonctions de PHP Mar 24, 2024 am 11:39 AM

PHP est un langage de script côté serveur largement utilisé dans le développement Web. Sa fonction principale est de générer du contenu Web dynamique. Lorsqu'il est combiné avec HTML, il peut créer des pages Web riches et colorées. PHP est puissant. Il peut effectuer diverses opérations de base de données, opérations sur les fichiers, traitement de formulaires et autres tâches, offrant ainsi une interactivité et des fonctionnalités puissantes pour les sites Web. Dans les articles suivants, nous explorerons plus en détail le rôle et les fonctions de PHP, avec des exemples de code détaillés. Tout d’abord, jetons un coup d’œil à une utilisation courante de PHP : la génération de pages Web dynamiques : P

See all articles