文章随机晒最新文章关照最多的

jiayi Rss

自制sitemap生成器

| Posted in web |

25

回到学校便与无聊的小学期为伍…今天没啥事,想到自己的sitemap很久没有更新,于是用php写了个sitemap生成器。
这个程序不是去抓网页的连接…jiayi只想提交主页和文章,所以直接从数据库取数据…有偷懒之嫌(怎么抓连接俺还不会…)
Google抓取分析,一切正常。下面贴下代码

CODE

<?php
    /**
    * @Author:Sanding,/
    * @copyright (c) Sanding 2008
    * @license http://opensource.org/licenses/gpl-license.php GNU Public Licens
    **/

    require("config.php");

    $forbid_cats=array("扯dan","IT新闻"); //不被爬到的分类
    $art_priority=0.8;                  //文章优先级,小于1.0   
    $local_time=date("Y-m-dTH:i:s")."+00:00";
    $frequency="weekly";                //更新频率 always || hourly || daily || weekly || monthly || yearly || never

    $head_text=‘<?xml version="1.0" encoding="UTF-8"?>
<urlset
    xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
    http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
    <!– created by Sanding,/ –>

    <url>
        <loc>/</loc>
        <priority>1.0</priority>
        <lastmod>’.$local_time.‘</lastmod>
        <changefreq>weekly</changefreq>
    </url>’
."n";                      
   

CODE

$footer_text=‘</urlset>’;          
    $middle_text="";                   

    /****************sitemap生成***************/
  

CODE

if(($fh=fopen("rss/jiayi_sitemap.xml","wt+")) && chmod("rss/jiayi_sitemap.xml",0755))
    {
        mysql_pconnect($dbhost,$dbuser,$dbpasswd);
        mysql_query("SET NAMES ‘utf8’");
        mysql_select_db("$dbname");

        $query="SELECT id,en_title FROM article WHERE";     //Edit it
        $and=" ";
        for($i=0;$i<count($forbid_cats);$i++)
        {
            $query.=$and."cat != ‘".$forbid_cats[$i]."’";       //去掉无聊的分类
            $and=" AND ";
        }
        $query.=" ORDER BY pubtime DESC";

        $result=mysql_query($query);
        while($row=mysql_fetch_row($result))
        {
            $middle_text.=" <url>
    <loc>http://"
.$_SERVER[‘HTTP_HOST’]."/showart/".$row[1]."-".$row[0]."</loc>   //文章网址
    <priority>".$art_priority."</priority>
    <lastmod>"
.$local_time."</lastmod>
    <changefreq>"
.$frequency."</changefreq>
</url>n"
;
        }

        $contents=$head_text.$middle_text.$footer_text;
        if(!fwrite($fh,$contents))
            echo "<script type=’text/javascript’>alert(‘sitemap创建失败’);</script>";
    }  
    else
        echo "<script type=’text/javascript’>alert(‘sitemap创建失败’);</script>";
?>

注释之处改为自己的设置

每次发表文章时执行一下就可以了~

Write a comment

You must be logged in to post a comment.