首頁 後端開發 php教程 Codeigniter Rss,网站地图,路由配置_PHP教程

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

Jul 14, 2016 am 10:09 AM
codeigniter rss 功能 地圖 網站 路由 配置

_ _,今天在成果不错,完成了网站的三个功能,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'] .  "
登入後複製
\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
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何在iPhone中使Google地圖成為預設地圖 如何在iPhone中使Google地圖成為預設地圖 Apr 17, 2024 pm 07:34 PM

iPhone上的預設地圖是Apple專有的地理位置供應商「地圖」。儘管地圖越來越好,但它在美國以外的地區運作不佳。與谷歌地圖相比,它沒有什麼可提供的。在本文中,我們討論了使用Google地圖成為iPhone上的預設地圖的可行性步驟。如何在iPhone中使Google地圖成為預設地圖將Google地圖設定為手機上的預設地圖應用程式比您想像的要容易。請依照以下步驟操作–先決條件步驟–您必須在手機上安裝Gmail。步驟1–開啟AppStore。步驟2–搜尋“Gmail”。步驟3–點選Gmail應用程式旁

vivox100s和x100區別:效能比較及功能解析 vivox100s和x100區別:效能比較及功能解析 Mar 23, 2024 pm 10:27 PM

vivox100s和x100手機都是vivo手機產品線中的代表機型,它們分別代表了vivo在不同時間段內的高端技術水平,因此這兩款手機在設計、性能和功能上均有一定區別。本文將從效能比較和功能解析兩個面向對這兩款手機進行詳細比較,幫助消費者更好地選擇適合自己的手機。首先,我們來看vivox100s和x100在效能上的比較。 vivox100s搭載了最新的

了解Linux Bashrc:功能、設定與使用方法 了解Linux Bashrc:功能、設定與使用方法 Mar 20, 2024 pm 03:30 PM

了解LinuxBashrc:功能、配置與使用方法在Linux系統中,Bashrc(BourneAgainShellrunco​​mmands)是一個非常重要的配置文件,其中包含了系統啟動時自動運行的各種命令和設定。 Bashrc文件通常位於使用者的家目錄下,是一個隱藏文件,它的作用是為使用者自訂設定Bashshell的環境。一、Bashrc的功能設定環境

自媒體到底是什麼?它的主要特點和功能有哪些? 自媒體到底是什麼?它的主要特點和功能有哪些? Mar 21, 2024 pm 08:21 PM

隨著網路的快速發展,自媒體這個概念已經深入人心。那麼,自媒體到底是什麼呢?它有哪些主要特點和功能呢?接下來,我們將一一探討這些問題。一、自媒體到底是什麼?自媒體,顧名思義,就是自己就是媒體。它是指透過網路平台,個人或團隊可以自主創建、編輯、發布和傳播內容的資訊載體。不同於傳統媒體,如報紙、電視、電台等,自媒體具有更強的互動性和個人化,讓每個人都能成為訊息的生產者和傳播者。二、自媒體的主要特色和功能有哪些? 1.低門檻:自媒體的崛起降低了進入媒體產業的門檻,不再需要繁瑣的設備和專業的團隊,一部手

小紅書帳號管理軟體有哪些功能?怎麼經營小紅書帳號? 小紅書帳號管理軟體有哪些功能?怎麼經營小紅書帳號? Mar 21, 2024 pm 04:16 PM

隨著小紅書在年輕人中的流行,越來越多的人開始利用這個平台分享各方面的經驗和生活見解。如何有效管理多個小紅書帳號成為關鍵問題。在本文中,我們將討論一些小紅書帳號管理軟體的功能,並探討如何更好地經營小紅書帳號。隨著社群媒體的發展,許多人發現自己需要管理多個社群帳號。對於小紅書用戶來說,這也是一個挑戰。一些小紅書帳號管理軟體可以幫助使用者更輕鬆地管理多個帳號,包括自動發佈內容、定時發布、資料分析等功能。透過這些工具,使用者可以更有效率地管理他們的帳號,提高帳號的曝光率和關注。另一、小紅書帳號管理軟體有

Linux系統中如何設定和安裝FTPS Linux系統中如何設定和安裝FTPS Mar 20, 2024 pm 02:03 PM

標題:Linux系統中如何配置和安裝FTPS,需要具體程式碼範例在Linux系統中,FTPS是一種安全的檔案傳輸協議,與FTP相比,FTPS透過TLS/SSL協議對傳輸的資料進行加密,提高了資料傳輸的安全性。在本文中,將介紹如何在Linux系統中設定和安裝FTPS,並提供特定的程式碼範例。步驟一:安裝vsftpd開啟終端,輸入以下指令安裝vsftpd:sudo

小紅書如何把店家地址加入地圖?店鋪地址設定怎麼填? 小紅書如何把店家地址加入地圖?店鋪地址設定怎麼填? Mar 29, 2024 am 09:41 AM

隨著小紅書越來越受到年輕人的喜愛,越來越多的人選擇在小紅書上開店。許多新手賣家在設定店家地址時遇到了困難,不知道如何把店家地址加入地圖。一、小紅書如何把店家地址加入地圖? 1.首先,確保您的店鋪在小紅書上有註冊帳號,並且已經成功開設店鋪。 2.登入小紅書帳號,進入店家後台,找到「店舖設定」選項。 3.在店舖設定頁面,找到「店家地址」一欄,點選「新增地址」。 4.在彈出的地址添加頁面,填寫店舖的詳細地址信息,包括省份、城市、區縣、街道、門牌號碼等。 5.填寫完畢後,點選「確認新增」按鈕。小紅書會對您提供的地址

如何在Google地圖上使用一目了然的方向 如何在Google地圖上使用一目了然的方向 Jun 13, 2024 pm 09:40 PM

在發布一年後,Google地圖推出了新的功能。一旦您在地圖上設定了目的地的路線,它就會總結您的旅行路線。旅程開始後,您可以從手機鎖定畫面「瀏覽」路線導航。您可以使用Google地圖來查看您的預計到達時間和路線。在整個旅行期間,您可以在鎖定螢幕上查看導航訊息,透過解鎖手機,無需訪問Google地圖即可查看導航資訊。透過解鎖手機,無需造訪Google地圖即可查看導航資訊。透過解鎖手機,無需訪問Google地圖,您即可查看導航信息,解鎖手機,無需訪問Google地圖,您即可查看導航信息,解鎖手機,無需訪問

See all articles