本人用CodeIgniter建立了一个小型网站:http://101ban.sinaapp.com/,为了更好的搜索引擎收录,有必要给网站生成一个xml格式的sitemap地图,但是上网找了很多资料,都没发现好的教程,或者功能太过于繁杂。于是自己琢磨弄了一个简单的适合自己的方法,下面分享一下这个方法。
说明:在CodeIgniter环境下开发的程序,放到SAE运行。
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的模板
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>sitemap</title>
</head>
<body>
<?php
echo htmlspecialchars('<?xml version="1.0" encoding="utf-8"?>').'<br/>';
echo htmlspecialchars('<urlset>').'<br/>';
//首页单独写一个url
echo htmlspecialchars('<url>').'<br/>';
echo htmlspecialchars(' <loc>').'http://101ban.sinaapp.com'.htmlspecialchars('</loc>').'<br/>';
echo htmlspecialchars('<lastmod>').date('Y-m-d',time()).htmlspecialchars('</lastmod>').'<br/>';
echo htmlspecialchars('<changefreq>').'daily'.htmlspecialchars('</changefreq>').'<br/>';
echo htmlspecialchars('<priority>').'1'.htmlspecialchars('</priority>').'<br/>';
echo htmlspecialchars('</url>').'<br/>';
//类别页
foreach ($categorys as $category){
echo htmlspecialchars('<url>').'<br/>';
echo htmlspecialchars(' <loc>').'http://101ban.sinaapp.com/index.php/home/cat/'.$category['c_sname'].htmlspecialchars('</loc>').'<br/>';
echo htmlspecialchars('<lastmod>').date('Y-m-d',time()).htmlspecialchars('</lastmod>').'<br/>';
echo htmlspecialchars('<changefreq>').'weekly'.htmlspecialchars('</changefreq>').'<br/>';
echo htmlspecialchars('<priority>').'0.8'.htmlspecialchars('</priority>').'<br/>';
echo htmlspecialchars('</url>').'<br/>';
}
//文章页
foreach ($posts as $post){
echo htmlspecialchars('<url>').'<br/>';
echo htmlspecialchars(' <loc>').'http://101ban.sinaapp.com/index.php/home/details/'.$post['post_name'].htmlspecialchars('</loc>').'<br/>';
echo htmlspecialchars('<lastmod>').date('Y-m-d',strtotime($post['post_date'])).
组合键实现功能适用条件Ctrl+/
单行注释。当前为php代码时,则在光标所在行添加双斜杠行注释,选择多行则每一行都添加双斜杠;而当代码为html时则在行前后添加<!– –>注释,选中多行将在选区前后添加<!– –>注释,而非每行添加,取消注释时只需选中需要行数再次Ctrl+/即可~
(注:Ctrl+/也可用于多行注释,只是注释符号为//)
PHP代码、html代码全部适用,不适用于CSS部分Ctrl+Shift+/块注释,为选择的PHP代码添加/* */块注释,如果没有选择任何代码,则将光标所在行添加块注释;
取消块注释Ctrl+Shift+|。
PHP代码适用,对HTML代码其功能与Ctrl+/相同Ctrl+U选择的代码片段全部转换为大写php、html等均适用Ctrl+L选择的代码片段全部转换为小写php、html等均适用Ctrl+D复制光标所在行所有代码均适用Ctrl+E删除光标所在行所有代码均适用Tab/Shift+Tab按tab增加代码缩进,默认为4个空格位置,可在首选项中进行设置,Shift+Tab则减少缩进,此操作对多行操作同样有效。即多行同时增加/减少缩进。所有代码均适用Ctrl+Alt+F在文件中查找,打开“在文件中查找”对话框整个ZDE环境适用Ctrl+BackSpace删除光标前一个单词,或者一个符号,注意这里的“一个单词”是由ZDE自行理解的,与英文中的一个单词有一定出入所有代码均适用Ctrl+G转到行。打开转到行对话框,填写行数字即可转到相应行,此为通用快捷键整个ZDE环境适用Alt+ →,←右箭头是定位到光标的下一个位置,左箭头则是定位到光标的上一个位置。整个ZDE环境适用环境切换 组合键实现功能适用条件Esc隐藏辅助窗口,以便让编辑区域最大,而文件管理器窗口不会隐藏整个ZDE环境适用Ctrl+W切换自动换行,即当代码超长时是否出现横向滚动条ALT+→,←在各个编辑器标签页之间切换,也可描述为在多个打开的文件窗口间切换Ctrl+F4关闭当前标签页,Alt+F4是关闭整个ZDE环境,注意下区别HTML标记 组合键实现功能适用条件Ctrl+1,2,3分别添加一对<h1>、<h2>、<h3> html标签,所有代码部分Ctrl+Enter断行,即产生一个<br />标签,这里注意ZDE自动产生的为<br>标签,不符合web标准Ctrl+~空格即一个 注意:~键位于PC键盘数字1左侧,tab键上方Ctrl+B粗体,产生一对<b>标签,web标准似乎提倡使用<strong></strong>Alt+I斜体,产生一对<i>标签书签操作 组合键实现功能适用条件F2添加/删除书签所有代码部分Ctrl+F2跳到当前文件的下一个书签Alt+F2在当前项目的所有书签间切换Ctrl+Shift+F2删除所有书签Ctrl+Shift+M显示书签对话框Zend Studio调试快捷键列表 组合键实现功能适用条件F9添加/删除断点所有代码部分F10逐过程。单步执行调试文件到下一行F5开始执行。执行调试文件,直到遇到断点。F8调试URL。打开调试URL对话框F12概要文件URL。打开profile URL对话框Shift+F8添加监视点。打开添加监视点对话框Shift+F11跳出。单步执行到返回后执行的第一行F11逐语句。单步执行到下一被执行的行Shift+F10执行到光标行。执行代码到光标所在行。Ctrl+F5无中断的执行脚本Shift+F5停止调试器Ctrl+Alt+B在浏览器中显示本文链接
1 php的安装配置
在php的官网http://www.php.net/downloads.php下载windows版php。不需要安装,直接解压出来就行。我将其解压在D盘的php文件夹里。接下来进行配置。在php文件夹里找到php.ini-dist文件(注意高版本的php没有这个文件,而是用php.ini-development文件来替代),将其重命名为php.ini。用notepad打开进行编辑。主要是在这个配置文件中配置php自动连接mysql数据库。
如图1,将php扩展中的与mysql有关的分号都删掉。这样php就配置好了。
图 1
还有一个就是将php的路径配置到系统环境中,这样apache每次启动就能找到php。
图 2
2 apache安装配置
在apache官网 http://httpd.apache.org/docs/2.0/platform/windows.html#down下载windows版的apache,并安装。我的apache还是安装在D盘。对apache的conf文件夹下的httpd.conf文件进行配置。配置主要是加入4条配置语句。
如图3所示,添加的这两条语句是将php和apache联系起来,为了让apache调用php。
图 3
如图4所示,添加的这两条语句实质是添加可以执行php的文件类型
图 4
3 mysql的安装配置
在mysql官网http://www.mysql.com/downloads/mysql/下载windows安装版mysql,下载下来之后直接点击安装。安装好之后,进行配置。
进入配置界面
图 5
选择Detailed Configuration
图 6
这里根据需要选择,一般建议选择Developer Machine
图 7
这里选择Multifunctional Database
图 8
这里选择允许的最大并发连接数,我选择20个
图 9
这里配置数据库端口,我选择了3309,默认是3306
图 10
这里选择数据库的编码方式,我选择utf-8,也可以根据需要选择其他的
图 11
这里选择自动将mysql安装路径配置到系统环境变量中,配置服务名称,一般是默认
图 12
配置数据库密码,及是否允许远程连接
图 13
这些配置完之后,先检测系统的环境,然后执行,只要执行之后就配置成功了。
4 wordpress的安装配置
wordpress是非常强大的开源php博客