首页 PHP 库 其它类库 生成百度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

相关文章

php生成百度站点地图sitemap类函数 php生成百度站点地图sitemap类函数

25 May 2016

百度站点地图是百度工具中一个非常实用的功能,可以实时的让我们的网站给百度定时抓取,下面我们一起来看看由php生成的一个xml文档了.公司网站是问答百科的网站、seo工程师提出需求说根据网站的问题...

利用PHP和百度地图API实现静态地图的生成与显示 利用PHP和百度地图API实现静态地图的生成与显示

31 Jul 2023

利用PHP和百度地图API实现静态地图的生成与显示一、概述在许多Web应用中,需要根据用户的需求生成并显示地图。本文将介绍如何利用PHP和百度地图API生成和显示静态地图。通过百度地图API,我们可以灵活地控制地图的大小、视野、标记点等内容,从而满足不同场景下的需求。二、环境准备在开始之前,确保已经安装好PHP以及相应的Web服务器环境。同时,需要申请并获取

maven仓库类型有哪些 maven仓库类型有哪些

04 Jan 2024

maven仓库类型:1、本地仓库;2、远程仓库;3、中央仓库;4、私服仓库;5、其他公共远程仓库。详细介绍:1、本地仓库,是存储在本地磁盘上的仓库,它是默认的仓库类型;2、远程仓库,是存储在网络上的仓库,可以由中央仓库、私服仓库和其他公共远程仓库等组成;3、中央仓库,是由Maven团队维护的远程仓库,它包含了世界上大部分流行的开源项目的构件;4、私服仓库等等。

PHP PDO 数据类型映射:让你的数据类型化 PHP PDO 数据类型映射:让你的数据类型化

19 Feb 2024

什么是PDO数据类型映射?PDO(PHP数据对象)提供了一个抽象层,可简化与不同数据库的交互。PDO数据类型映射使我们能够将数据库字段类型映射到php数据类型。这提供了一致、类型化的和安全的数据库交互体验。为什么要使用PDO数据类型映射?类型化数据:它强制执行PHP数据类型,防止意外转换和潜在错误。一致性:它确保跨不同数据库类型始终如一的数据解释。安全性:它通过验证输入类型,防止sql注入和其他安全漏洞。性能:它可以优化查询性能,因为数据库可以根据正确的类型对字段进行优化。实现PDO数据类型映射

理解 JPA 中的 @MappedSuperclass 理解 JPA 中的 @MappedSuperclass

25 Aug 2024

JPA(Java Persistence API)提供了几个用于将 Java 类映射到数据库表的注释。一个这样有用的注释是@MappedSuperclass,它用于指定一个类,其属性必须由其他类继承。

thinkphp的db类怎么调用 thinkphp的db类怎么调用

11 Apr 2023

ThinkPHP是一个基于MVC架构的轻量级开发框架,它提供了丰富的工具和组件,方便开发者快速搭建Web应用。其中,数据库操作是Web应用开发中最常见的一项任务,因此,ThinkPHP也提供了便捷的数据库操作类——DB类。本文将详细介绍ThinkPHP的DB类的调用方式。具体内容如下:一、概述1.1 什么是DB类DB类是一种数据库操作类,它封装了数据库的操作方法,方便我们操作数

See all articles