Maison php教程 php手册 CodeIgniter生成网站sitemap地图的方法

CodeIgniter生成网站sitemap地图的方法

Jun 13, 2016 am 09:30 AM
codeigniter

1.建立了一个名为sitemap的控制器

复制代码 代码如下:


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

class Sitemap extends CI_Controller{
 public function __construct() {
  parent::__construct();
  $this->load->model('sitemapxml'); 
 }

 function index(){
  $data['posts']=$this->sitemapxml->getArticle();
  $data['categorys']=$this->sitemapxml->getCategory();
  $this->load->view('sitemap.php',$data);
 }
}


首先加载sitemapxml模型类,index方法调用两个方法,分别获取文章列表和类别列表,以在模板中输出。

2.创建一个名为sitemapxml的模型

复制代码 代码如下:


class Sitemapxml extends CI_Model{
 public function __construct() {
  parent :: __construct();
  $this->load->database();
 }

 public function getArticle(){
  $this->db->select('ID,post_date,post_name');
  $this->db->order_by('post_date', 'desc');
  $result=$this->db->get('posts');
  return $result->result_array();
 }

 public function getCategory(){
  $this->db->select('c_sname');
  $result=$this->db->get('category');
  return $result->result_array();
 }
}


模型里面定义两个方法,获取文章列表和类别列表。

3.创建一个名为sitemap.php的模板

复制代码 代码如下:






sitemap


echo htmlspecialchars('').'
';
echo htmlspecialchars('').'
';

//首页单独写一个url
echo htmlspecialchars('').'
';
echo htmlspecialchars(' ').'http://aa.sinaapp.com'.htmlspecialchars('').'
';
echo htmlspecialchars('').date('Y-m-d',time()).htmlspecialchars('').'
';
echo htmlspecialchars('').'daily'.htmlspecialchars('').'
';
echo htmlspecialchars('').'1'.htmlspecialchars('').'
';
echo htmlspecialchars('
').'
';

//类别页
foreach ($categorys as $category){
 echo htmlspecialchars('').'
';
 echo htmlspecialchars(' ').'http://aa.sinaapp.com/index.php/home/cat/'.$category['c_sname'].htmlspecialchars('').'
';
 echo htmlspecialchars('').date('Y-m-d',time()).htmlspecialchars('').'
';
 echo htmlspecialchars('').'weekly'.htmlspecialchars('').'
';
 echo htmlspecialchars('').'0.8'.htmlspecialchars('').'
';
 echo htmlspecialchars('
').'
';
}

//文章页
foreach ($posts as $post){
 echo htmlspecialchars('').'
';
 echo htmlspecialchars(' ').'http://aa.sinaapp.com/index.php/home/details/'.$post['post_name'].htmlspecialchars('').'
';
 echo htmlspecialchars('').date('Y-m-d',strtotime($post['post_date'])).htmlspecialchars('').'
';
 echo htmlspecialchars('').'weekly'.htmlspecialchars('').'
';
 echo htmlspecialchars('').'0.6'.htmlspecialchars('').'
';
 echo htmlspecialchars('
').'
';
}

//留言板
echo htmlspecialchars('').'
';
echo htmlspecialchars(' ').'http://aa.sinaapp.com/index.php/guest'.htmlspecialchars('').'
';
echo htmlspecialchars('').date('Y-m-d',time()).htmlspecialchars('').'
';
echo htmlspecialchars('').'weekly'.htmlspecialchars('').'
';
echo htmlspecialchars('').'0.5'.htmlspecialchars('').'
';
echo htmlspecialchars('
').'
';

echo htmlspecialchars('
');
?>



最重要的就是这个模板了,按照sitemap.xml的标准格式,从数据库中读取相关数据,用循环的方式自动生成这样的格式,页面上展示的是html形式的xml的内容。

然后再用一个很笨的方法,将生成的html文本(实际上就是xml文件的显示内容),复制到一个新建的sitemap.xml文件,格式化一下,保存,就产生了一个标准的sitemap.xml文件。因为要用的SAE部署应用,目录不支持写操作,只能这样上传了,隔一段时间这样弄一下就ok了。

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

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Tags d'article chaud

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 implémenter un middleware personnalisé dans CodeIgniter Comment implémenter un middleware personnalisé dans CodeIgniter Jul 29, 2023 am 10:53 AM

Comment implémenter un middleware personnalisé dans CodeIgniter

Middleware CodeIgniter : accélère la réactivité des applications et le rendu des pages Middleware CodeIgniter : accélère la réactivité des applications et le rendu des pages Jul 28, 2023 pm 06:51 PM

Middleware CodeIgniter : accélère la réactivité des applications et le rendu des pages

Développement PHP : utilisation de CodeIgniter pour implémenter le modèle MVC et l'API RESTful Développement PHP : utilisation de CodeIgniter pour implémenter le modèle MVC et l'API RESTful Jun 16, 2023 am 08:09 AM

Développement PHP : utilisation de CodeIgniter pour implémenter le modèle MVC et l'API RESTful

Comment utiliser le générateur de requêtes de base de données (Query Builder) dans le framework CodeIgniter Comment utiliser le générateur de requêtes de base de données (Query Builder) dans le framework CodeIgniter Jul 28, 2023 pm 11:13 PM

Comment utiliser le générateur de requêtes de base de données (Query Builder) dans le framework CodeIgniter

Comment utiliser le framework CodeIgniter5 en php ? Comment utiliser le framework CodeIgniter5 en php ? Jun 01, 2023 am 11:21 AM

Comment utiliser le framework CodeIgniter5 en php ?

Middleware CodeIgniter : fournit des fonctions sécurisées de téléchargement et de téléchargement de fichiers Middleware CodeIgniter : fournit des fonctions sécurisées de téléchargement et de téléchargement de fichiers Aug 01, 2023 pm 03:01 PM

Middleware CodeIgniter : fournit des fonctions sécurisées de téléchargement et de téléchargement de fichiers

Comment utiliser le framework PHP CodeIgniter pour créer rapidement un système de gestion backend Comment utiliser le framework PHP CodeIgniter pour créer rapidement un système de gestion backend Jun 27, 2023 am 09:46 AM

Comment utiliser le framework PHP CodeIgniter pour créer rapidement un système de gestion backend

Utilisez le framework PHP CodeIgniter pour développer une application de chat en temps réel afin de fournir des services de communication pratiques Utilisez le framework PHP CodeIgniter pour développer une application de chat en temps réel afin de fournir des services de communication pratiques Jun 27, 2023 pm 02:49 PM

Utilisez le framework PHP CodeIgniter pour développer une application de chat en temps réel afin de fournir des services de communication pratiques

See all articles