class.sitemap.php

<? php
/* **************************************
 $文件名: class.sitemap.php $
 $描述:  $
 $版本: 1.0 $
 $最后修改日期: 2007/01/01 09:04:11 $
 $作者: psdshow (psdshow@yahoo.com.cn) $
 $This is NOT a freeware, use is subject to license terms(非免费软件,用户需要授权书) $
***************************************
*/
class  sitemap {
 
var   $charset   =   " UTF-8 " ;
 
var   $s   =   "" ;

 
function  sitemap( $encoding   =   '' ) {
  
  
if ( empty ( $encoding )){
   
$encoding   =   " UTF-8 " ;
   }

  
$this -> =   " <?xml version=\ " 1.0 \ "  encoding=\ " $encoding \ " ?>\n " ;
  
$this -> .=   " <urlset xmlns=\ " http : // www.google.com/schemas/sitemap/0.84\">\n";
  }

 
/* ****************
  * $loc   url地址 符号要转义 
  符号  &  &amp;
  单引号  '  &apos;
  双引号  "  &quot;
  大于  >  &gt;
  小于  <  &lt;
  * $lastmod  修改时间 W3C Datetime 可以使用YYYY-mm-dd
  * $changefreq 更新频率 always hourly daily weekly monthly yearly never
  * $priority  重要性 0.1-1.0之间
 ******************
*/
 
function  addurl( $loc ,   $lastmod   =   '' ,   $changefreq   =   '' ,   $priority   =   '' ) {

  
$loc   =   htmlentities ( $loc , ENT_QUOTES);
  
$this -> .=   " \t\t<url>\n\t\t\t<loc> $loc </loc>\n " ;

  
if ( ! empty ( $lastmod )){
   
$this -> .=   " \t\t\t<lastmod> $lastmod </lastmod>\n " ;
   }

  
if ( ! empty ( $changefreq )){
   
$this -> .=   " \t\t\t<changefreq> $changefreq </changefreq>\n " ;
   }

  
if ( ! empty ( $priority )){
   
$this -> .=   " \t\t\t<priority> $priority </priority>\n " ;
   }
  
$this -> .=   " \t\t</url>\n\n " ;
  }
 
 
function  buildsitemap( $filename   =   "" ) {
  
$this -> .=   " \t</urlset>\n " ;
  
if ( empty ( $filename )){
   
header ( " Content-Type: text/xml " );
   
echo   $this -> s;
   }
else {
   
$this -> save2file( $filename );
   }
  }

 
function  save2file( $filename ) {
  
$fp   =  @ fopen ( $filename , " w+ " ) or  die ( sprintf ( " 建立文件1%失败 " , $filename ));
  @
fwrite ( $fp , $this -> s);
  @
fclose ( $fp );
  }
}
?>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
<?php /*  * SiteMap接口类  */ class SitemapAction extends Action{   private static $baseURL = ''; //URL地址   private static $askMobileUrl = 'http://m.xxx.cn/ask/'; //问答移动版地址   private static $askPcUrl = "http://www.xxx.cn/ask/";   //问答pc地址   private static $askZonePcUrl = "http://www.xxx.cn/ask/jingxuan/"; //问答精选Pc链接   private static $askZoneMobileUrl = "http://m.xxx.cn/ask/jx/"; //问答精选移动版链接   //问答setmaps   public function askSetMap(){     header('Content-type:text/html;charset=utf-8');     //获取问题列表     $maxid = 0;    //索引文件最大id     $minid = 0;    //索引文件最小id     $psize = 1000; //数据库每次取数量     $maxXml = 5000; //xml写入记录数量     $where = array();     //读取索引文件     $index = APP_PATH.'setmapxml/Index.txt';     //关联setmaps路径     $askXml = "../siteditu/ask/ask.xml";     if(!file_exists($index)){       $fp=fopen("$index", "w ");       if ( !is_writable($index) ){         die("文件:" .$index. "不可写,请检查!");       }首先取出1000条数据(可以灵活些成活的,方便以后修改),然后循环生成xml格式文件。file_puts_contens写入文件。然后再把生成的xml文件名称、取出问题的最小id、取出问题的最大id、取出问题的条数写出一个索引查询的txt文件当中,格式大概是这个样子的。0,3146886,3145887,1000发现最后面的条数是1000了吗、第一次select取出1000条数据、然后写入0.xml文件当中。把取出的xml文件名称、最小id、最大id、条数写入到索引查询txt中。第一次写入了1000条数据到0.xml、生成条数为1000。第二次查询的时候select语句会成为。 where id > 取出的最大id(当前mysql为正序查询、如果为倒序、改成小于) limit 1000 这样的话又取出1000、然后修改索引查询txt的最小id、最大id、生成条数加到2000。以此类推等生成条数到了5000的时候再另起一行写入索引文件、类似这样0,3146886,3145887,5000 1,3148886,3147887,1000这样写的话就减轻了服务器的压力。
template.class.php是一个在th3框架中用于处理模板的类文件。th3框架是一个开源的PHP框架,用于快速开发Web应用程序。 template.class.php提供了一些常用的方法和功能,用于加载、渲染和处理模板文件。它可以帮助开发人员将业务逻辑与界面展示分离,提高代码的可维护性和复用性。 在template.class.php中,最重要的方法是render方法。通过render方法可以加载指定的模板文件,并将传入的数据传递给模板。模板文件可以使用特定的标记语言或语法来插入变量、条件语句、循环等。在render方法中,可以使用相关的解析器将模板文件中的标记解析成对应的内容,并将解析后的内容返回给调用者。 除了render方法,template.class.php还提供了一些其他的辅助方法。例如,它可以在模板中引入其他模板文件,实现模块化的开发方式。还可以设置模板文件存放的路径、缓存模板文件等。 在使用template.class.php时,通常首先需要实例化template类对象,然后通过调用render方法加载指定的模板文件。可以通过传入不同的参数来动态地渲染不同的模板。渲染后的模板可以直接输出到浏览器,也可以保存到文件中,以供后续使用。 总之,template.class.php是一个在th3框架中用于处理模板的重要类文件,它提供了一些方法和功能,可以方便地加载、渲染和处理模板文件,是开发Web应用程序的重要工具之一。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值