本文分享一例php生成sitemap文件的代碼,一個簡單的google sitemap文件生成器代碼,有需要的朋友參考下。就跟隨小編去了解下吧,想了解更多相關信息請 持續關注我們應屆畢業生考試網!
php sitemap文件生成器
例子:
複製代碼 代碼示例:
<?php
#---------------------------------------
# PHP版的Google Sitemap 生成器 ver 0.1
# 注意:必須對當前目錄有寫的權限
#---------------------------------------
#網站根域名
$WebRoot = " 改成自己的`網址
#XML文件名稱
$XMLFile = "";
#要建慮的目錄[區分大小寫],注意:前面加號是因爲0在PHP中表示假,這樣取子串位置時就不會返回假
#以本程序所在的目錄爲當前目錄,即掃描的根目錄,所以目錄前面不用加上"/"
$FilterDir = "+|sysAdmin|down|";
#要索引的文件擴展名[小寫]
$IndexFileExt = "+|htm|html|";
#XML頭部
$XMLText = "<?xml version="1.0" encoding="UTF-8"?>n<urlset xmlns="";
#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 = "|"olower(substr($file, strrpos($file, ".")+1))."|";
if (strpos($IndexFileExt, $ext))
{
$d = filemtime($pf);
$dt = date("Y-m-d",$d)."T"("H:i:s",$d)."+00:00";
addToXML($pf, $dt);
}
}
}
}
closedir($handle);
}
?>