<?php
require
('e/
class
/connect.php');
require
('e/
class
/db_sql.php');
require
('e/data/dbcache/
class
.php');</p> <p>
$link
= db_connect();
$empire
=
new
mysqlquery(); </p> <p>
header(
"Content-type: text/html; charset=utf-8"
);</p> <p>
$operation
=
$_GET
['operation'];
$current_url
=
explode
('/',
$_SERVER
['PHP_SELF']);
$current_script_name
=
end
(
$current_url
); </p> <p>
if
(
$operation
&&
$operation
==
"makexml"
)
{
$xml
= generate_sitemp_xml();
$result
= save_xml('sitemap.xml',
$xml
);
if
(
$result
)
{
echo
'生成成功,<a href=
"sitemap.xml"
>点此查看</a>';
}
else
{
echo
'生成失败,<a href=
"'.$current_script_name.'"
>在来一次</a>!';
}
}
else
{
echo
'欢迎使用微笑的鱼Sitemap生成工具,请<a href=
"'.$current_script_name.'?operation=makexml"
>点此生成</a>!';
}</p> <p></p> <p>
function
save_xml(
$filename
,
$text
) {
if
(!
$filename
|| !
$text
)
return
false;
@
chmod
(
$filename
,0777);
if
(
$fp
=
fopen
(
$filename
,
"w"
)) {
if
(@fwrite(
$fp
,
$text
)) {
fclose(
$fp
);
return
true;
}
else
{
fclose(
$fp
);
return
false;
}
}
return
false;
}
function
generate_sitemp_xml()
{
global
$dbtbpre
,
$empire
;
$xml
= '';
$xml
.= '<?xml version=
"1.0"
encoding=
"utf-8"
?>' .PHP_EOL;
$xml
.= '<urlset>' .PHP_EOL;
$xml
.= generate_home_xml();
$xml
.= generate_class_xml();
$query
=
"select * from {$dbtbpre}ecms_news order by id desc limit 100"
;
$sql
=
$empire
->query(
$query
);
while
(
$r
=
$empire
->fetch(
$sql
))
{
$titleurl
=sys_ReturnBqTitleLink(
$r
);
$xml
.= ' <url>' .PHP_EOL;
$xml
.= ' <loc>'.
$titleurl
.'</loc>' .PHP_EOL;
$xml
.= ' <lastmod>'.
strftime
('%Y-%m-%d',
$r
['newstime']).'</lastmod>' .PHP_EOL;
$xml
.= ' <changefreq>daily</changefreq>' .PHP_EOL;
$xml
.= ' <priority>0.8</priority>' .PHP_EOL;
$xml
.= ' </url>' .PHP_EOL;
}
$xml
.= '</urlset>' .PHP_EOL;
return
$xml
;
}
function
generate_class_xml()
{
global
$dbtbpre
,
$empire
,
$class_r
;
$xml
= '';
$sql
=
$empire
->query(
"SELECT * FROM {$dbtbpre}enewsclass WHERE islast=1"
);
while
(
$r
=
$empire
->fetch(
$sql
))
{
$infor
=
$empire
->fetch1(
"SELECT newstime FROM {$dbtbpre}ecms_"
.
$class_r
[
$r
[classid]][tbname]." WHERE
classid='
$r
[classid]' ORDER BY newstime DESC LIMIT 1");
$class_url
=sys_ReturnBqClassname(
$r
, 9);
$xml
.= ' <url>' .PHP_EOL;
$xml
.= ' <loc>'.
$class_url
.'</loc>' .PHP_EOL;
$xml
.= ' <lastmod>'.
strftime
('%Y-%m-%d',time()).'</lastmod>' .PHP_EOL;
$xml
.= ' <changefreq>daily</changefreq>' .PHP_EOL;
$xml
.= ' <priority>0.8</priority>' .PHP_EOL;
$xml
.= ' </url>' .PHP_EOL;
}
return
$xml
;
}
function
generate_home_xml()
{
$xml
= '';
$xml
.= ' <url>' .PHP_EOL;
$xml
.= ' <loc>https:
$xml
.= ' <lastmod>'.
strftime
('%Y-%m-%d',time()).'</lastmod>' .PHP_EOL;
$xml
.= ' <changefreq>daily</changefreq>' .PHP_EOL;
$xml
.= ' <priority>0.8</priority>' .PHP_EOL;
$xml
.= ' </url>' .PHP_EOL;
return
$xml
;</p> <p>}</p> <p>
db_close();
$empire
=null;
?