首頁 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

相關文章

百度網站地圖sitemap.xml產生程式碼 百度網站地圖sitemap.xml產生程式碼

25 Jul 2016

百度網站地圖sitemap.xml產生程式碼

利用PHP與百度地圖API實作靜態地圖的產生與顯示 利用PHP與百度地圖API實作靜態地圖的產生與顯示

31 Jul 2023

利用PHP與百度地圖API實作靜態地圖的生成與顯示一、概述在許多Web應用中,需要根據使用者的需求產生並顯示地圖。本文將介紹如何利用PHP和百度地圖API產生和顯示靜態地圖。透過百度地圖API,我們可以靈活地控制地圖的大小、視野、標記點等內容,從而滿足不同場景下的需求。二、環境準備在開始之前,確保已經安裝好PHP以及對應的Web伺服器環境。同時,需要申請並獲取

thinkphp如何修改資料庫 thinkphp如何修改資料庫

27 May 2023

一、ThinkPHP資料庫操作在ThinkPHP中,我們可以透過它提供的資料庫操作類別來進行資料庫的操作。常用的資料庫操作類別有:Db類別在ThinkPHP中,我們可以使用Db類別來進行對資料庫的增、刪、改、查等操作。其使用範例如下:

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

25 Aug 2024

JPA(Java Persistence API)提供了幾個用於將 Java 類別對應到資料庫表的註解。一個這樣有用的註解是@MappedSuperclass,它用來指定一個類,其屬性必須由其他類別繼承。

ThinkPHP怎麼導入第三方類別庫 ThinkPHP怎麼導入第三方類別庫

03 Jun 2023

  第三方類別庫  第三方類別庫指除了ThinkPHP框架、應用專案類別庫之外的其他類別庫,一般由第三方系統或產品提供,如Smarty、Zend等系統的類別庫等。  前面使用自動載入或import方法導入的類別庫,ThinkPHP約定是以.class.php為後綴的,非這類的後綴,需要透過import的參數來控制。  但對第三類庫,由於不會有此約定,其後綴只能認為是php。為了方便的引入其他框架和系統的類別庫,ThinkPHP特意提供了導入第三方類別庫的功能。第三方類別庫統一放置在ThinkPHP系統目錄/

知識寶庫:Java Hibernate 框架知識點的全面梳理 知識寶庫:Java Hibernate 框架知識點的全面梳理

19 Feb 2024

1.實體類別實體類別是Hibernate中最重要的概念之一,它表示資料庫中的一張表。實體類別中的屬性對應於表中的列,實體類別中的方法對應於表中的操作。 @EntitypublicclassUser{@Id@GeneratedValueprivateLongid;privateStringname;privateStringemail;//省略其他屬性和方法}2.資料存取物件資料存取物件(DAO)是Hibernate中另一個重要的概念,它負責對資料庫進行操作。 DAO通常是一個接口,它定義了對資料庫進行操作的

See all articles