PHP版的Google Sitemap 生成器
| |
:不指定 2008/09/09 08:43 ..by mlzy
这个是dedecms论坛上的朋友写的,我拿来用了,呵呵~


<?php
########################################
#
# PHP版的Google Sitemap 生成器 ver 0.1
# 注意:必须对当前目录有写的权限
#
########################################

#网站根域名
$WebRoot = "http://www.***.com/";//这里改成你的网址
#XML文件名称
$XMLFile = "sitemaps.xml";
#要建虑的目录[区分大小写],注意:前面加号是因为0在PHP中表示假,这样取子串位置时就不会返回假
#以本程序所在的目录为当前目录,即扫描的根目录,所以目录前面不用加上"/"
$FilterDir = "+|sysAdmin|down|";
#要索引的文件扩展名[小写]
$IndexFileExt = "+|htm|html|";
#XML头部
$XMLText = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<urlset xmlns=\"http://www.google.com/schemas/sitemap/0.84\">\n";
#XML尾部
$XMLEndText = "</urlset>";

echo "开始构建文件XML索引...";
DealFP(".");
$XMLText .= $XMLEndText;
makeFile($XMLFile,$XMLText);
echo "ok!<br><br>";
$url = $WebRoot.$XMLFile;
echo "<a href=".$url.">打开</a>:".$url;

#公用函数库:

#新建文件
function makeFile($fileName, $text){
  $fp = fopen($fileName, "w+");
  fwrite($fp, $text);
  fclose($fp);
}

/**
* 将指定内容添加到XML中
* $f 含相对路径的文件名称
* $dt 日期时间型
*/
function addToXML($f, $dt){
  $s = "<url><loc>".$GLOBALS["WebRoot"].$f."</loc><lastmod>".$dt."</lastmod></url>\n";
  
  $GLOBALS["XMLText"] .= $s;
}

/**
* 遍历指定的目录以及子目录,将符合条件的文件加入XML
* $p 指定的目录
*/
function DealFP($p){
  $FilterDir = $GLOBALS["FilterDir"];
  $IndexFileExt = $GLOBALS["IndexFileExt"];
  
  $handle=opendir($p);
  if ($p==".") $path = "";
  else $path = $p."/";
  while ($file = readdir($handle))
  {
    $d = filetype($path.$file);
    if ((($d=='file')||($d=='dir'))&&($file!='.')&&($file!='..'))
    {
        $pf = $path.$file;
        //echo "[".$d."]".$pf."<br>";
        if ($d=='dir')
        {
          if (!(strpos($FilterDir, "|".$pf."|")))
          {
            DealFP($pf);
          }
        }else{
          $ext = "|".strtolower(substr($file, strrpos($file, ".")+1))."|";
          
          if (strpos($IndexFileExt, $ext))
          {
            $d = filemtime($pf);
            $dt = date("Y-m-d",$d)."T".date("H:i:s",$d)."+00:00";
            addToXML($pf, $dt);
          }
        }
    }
  }
  closedir($handle);
}
?>


随便起给名字**.PHP就可以了,放在根目录下,在后台的随便页面做个链接更新Google Sitemaps,以后就点这个链接,就OK了

汇率实时转换——点 击进入在线汇率换算工 具

出处:PHP版的Google Sitemap 生成器
转载时必须以链接形式注明出处及本声明!




1 comment(s)
曾波
[2008/09/09 17:37]
它是分析某个目录下的文件,生成sitemap,但是我们的没有生成静态文件,都是动态的,它生成的sitemap是没有新内容的。
。。。晕。。其实我还下载了一个dedecms的插件,但是它用的是和生成主页的办法一样的方式生成,结果sitemap生成后,主页完蛋了,所以我就没用那个了。
mlzy 回复于 2008/09/09 18:02
分页: 1/1 第一页 1 最后页

发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
昵称   密码   游客无需密码
网址   电邮   [注册]
               

验证码 不区分大小写