搜索
首页PHP 库Other libraries生成百度sitemap站点地图的php类
生成百度sitemap站点地图的php类
<?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
这样写的话就减轻了服务器的压力。

免责声明

本站所有资源均由网友贡献或各大下载网站转载。请自行检查软件的完整性!本站所有资源仅供学习参考。请不要将它们用于商业目的。否则,一切后果由您负责!如有侵权,请联系我们删除。联系方式:admin@php.cn

相关文章

为什么我的 JNI 项目找不到依赖库?为什么我的 JNI 项目找不到依赖库?

21Nov2024

解决 UnsatisfiedLinkError: Can't Find Dependent Libraries in JNI Projects当开发 Java Native Interface (JNI) 项目时,您可能...

phpmyadmin不显示登录页面phpmyadmin不显示登录页面

30Oct2019

​phpmyadmin不显示登录页面解决方法:找到并打开phpMyAdmin\libraries\plugins\auth\AuthenticationCookie.class.php文件,将其中关于登录页面代码中的两处hide删除即可。

如何修复 phpMyAdmin 中的'count():参数必须是实现可数的数组或对象”错误?如何修复 phpMyAdmin 中的'count():参数必须是实现可数的数组或对象”错误?

20Oct2024

phpMyAdmin 错误:“count():参数必须是实现可数的数组或对象”您是否遇到过 phpMyAdmin 错误,指出“./libraries/sql.lib.php#601\ncount() 中的警告:参数必须是数组或对象

dacom.dll - 什么是 dacom.dll?dacom.dll - 什么是 dacom.dll?

19Oct2024

dacom.dll 在我的计算机上做什么? dacom.dll 是 Microsoft Corporation 创建的 Digital Anvil Component Libraries 使用的 DLL 文件。此过程仍在审核中。 dacom.dll 等非系统进程源自您安装的软件

如何使用 CSS 网格布局创建砌体网格,其中每个元素具有相同的宽度,但底部元素始终低于顶部元素 50px?如何使用 CSS 网格布局创建砌体网格,其中每个元素具有相同的宽度,但底部元素始终低于顶部元素 50px?

17Nov2024

Create a Masonry Grid with CSS Grid Layout (or Other CSS)该问题询问一种在 CSS 中实现砖石网格效果的方法...

ctvcal.dll - 什么是 ctvcal.dll?ctvcal.dll - 什么是 ctvcal.dll?

16Oct2024

ctvcal.dll 在我的计算机上做什么? ctvcal.dll 是属于 Oracle Corporation 的 Oracle Calendar Libraries 的一个模块。 ctvcal.dll 等非系统进程源自您系统上安装的软件。由于大多数应用程序

See all articles