sitemap 文件的生成 sitemap文件和sitemapindex 索引文件的生成
- <?php
- /*****连接数据库 start*******/
- $dbhost = "localhost";
- $username = "root";
- $userpass = "root";
- $dbdatabase = "eoews";
- $db_con = mysqli_connect($dbhost,$username,$userpass) or die("Unable to connect to the MySQL!");
- //选择一个需要操作的数据库
- mysqli_select_db($db_con,$dbdatabase);
- /***********连接数据库****end******/
- $page_size = 10000; //每页条数
- //1w个地址生成一个子地图,判断需要生成几个?
- $countQuery = mysqli_query($db_con,"select count(id) from apps where status = 1 ");
- $count = implode(',' , mysqli_fetch_row($countQuery));
- $page_count = ceil($count/$page_size); //分几个文件
- baidu_create_index($page_count);
- baidu_create_child($db_con,$page_count,$page_size);
- //百度生成主sitemap
- function baidu_create_index($page_count) {
- $content = "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
- $content .= "<sitemapindex>";
- for($i=1;$i<=$page_count;$i++) {
- $content .="<sitemap>";
- $content .= "<loc> http://test.demo.cn/sitemap/sitemap$i.xml</loc>";
- $content .= "<lastmod>".date('Y-m-d')."</lastmod>";
- $content .= "</sitemap>";
- }
- $content .= "</sitemapindex>";
- file_put_contents("sitemap.xml",$content);
- }
- //百度生成子sitemap
- function baidu_create_child($db_con,$page_count,$page_size) {
- for($i=0;$i<$page_count;$i++) {
- $count = $i * $page_size;
- $result = mysqli_query($db_con,"SELECT id,updated_time FROM apps ORDER BY updated_time desc limit $count,$page_size");
- //提取数据
- if($result){
- $str = '<?xml version="1.0" encoding="utf-8"?>';
- $str .= '<urlset>';
- while($row = mysqli_fetch_array($result,MYSQLI_ASSOC)) {
- $str .= '<url>';
- $str .= "<loc>http://test.eoews.cn/soft/{$row["id"]}.html</loc>";
- $str .= "<lastmod>" . date('Y-m-d',strtotime($row["updated_time"])) . "</lastmod>";
- $str .= "<changefreq>daily</changefreq>";
- $str .= "<priority>0.9</priority>";
- $str .= '</url>';
- }
- $str .= '</urlset>';
- file_put_contents('sitemap/sitemap'.($i+1).".xml" ,$str);
- }else{
- die("fetch data failed!");
- }
- mysqli_free_result($result);
- }
- }
用的是原生写的。没有用到框架 要是用框架的话 应该会方便很多,至少在Mysql 上不会这么复杂
sitemap 文件的生成 sitemap文件和sitemapindex 索引文件的生成的更多相关文章
- Oracle非重要文件恢复,redo、暂时文件、索引文件、password文件
增量备份的应用在recovery阶段.不再restore阶段 了解数据库设置表: SQL>desc database_properties Name ...
- 如何通过倾斜摄影数据手动配置s3c索引文件?
如何通过倾斜摄影数据手动配置s3c索引文件? 大家知道,倾斜摄影数据最常见的是OSGB格式,并且是由一个一个的Tile分级文件夹构成的Data文件夹.结构一般如下图所示: 那么,如何才能把模型的各个瓦 ...
- lucene: 索引建立完后无法查看索引文件中的数据
索引建立时 1.对原有索引文件进行建立,是可以访问索引文件中的数据的 2.建立新索引文件,必须等建立完毕后,才可以访问,新建立的文件如果没有建立完是不可以被访问的 如果想建 ...
- sitemap.xml 静态和动态生成页面 shopnc二次开发 动态生成sitemap.xml
Sitemap 可方便网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页.最简单的 Sitemap 形式,就是XML 文件,在其中列出网站中的网址以及关于每个网址的其他元数据(上次更新的时间.更改的 ...
- Java生成sitemap网站地图
访问我的博客 sitemap 是什么?对应没有接触过网站 SEO 的同学可能不知道,这里引用一下百度站长的一段解释. Sitemap(即站点地图)就是您网站上各网页的列表.创建并提交Sitemap有助 ...
- .net core将URL请求格式化为XML或JSON(网站动态生成sitemap.xml)
.net core将URL请求格式化为XML或JSON(网站动态生成sitemap.xml) 首先设置 Startup.cs 文件 配置 ConfigureServices services .Add ...
- Python脚本生成sitemap
项目须要用脚本生成sitemap,中间学习了一下sitemap的格式和lxml库的使用方法.把结果记录一下,方便以后须要直接拿来用. 来自Python脚本生成sitemap 安装lxml 首先须要pi ...
- NHibernate生成实体类、xml映射文件
最近工作电脑装完win10后,之前使用的codeSmith安装不了,索性自己写一个. 界面比较简单,如下图: 第一行为Oracle数据库的连接字符串.连接成功后,填充表到第4行的下拉列表中. 第二行为 ...
- 使用mybatis-generator自动生成model、dao、mapping文件
参考文献:http://www.cnblogs.com/smileberry/p/4145872.html 一.所需库 1.mybatis-generator库 2.连接DB的驱动(此以mysql为例 ...
随机推荐
- PHP json中文
json_encode 和 json_decode 只支持utf-8编码的字符串,GBK的字符串要用json就得转换成utf-8字符串 看效果 <?php header("Conten ...
- jmeter5.1分布式压测
在使用jmeter压测过程中,可能会度遇到内存溢出的错误,这是为什么呢?因为jmeter是java写的应用,java应用jvm堆内存heap受负载机硬件限制,虽然我们可以调整堆内存大小,但是单机无法支 ...
- 为什么重复的GET请求变慢了?
最近在研究慢请求监控的问题,写了一个简单的测试代码:在网页端(index.html)通过fetch函数向服务端获取数据,然后打印请求耗时. function requestData() { let s ...
- Redis 使用过程中遇到的具体问题
1.缓存雪崩和缓存穿透问题 1.1缓存雪崩 简介:缓存同一时间大面积的失效,所以,后面的请求都会落到数据库上,造成数据库短时间内承受大量请求而崩掉. 解决办法: 事前:尽量保证整个 redis 集 ...
- 以太网PHY寄存器分析【转】
转自:https://blog.csdn.net/Firefly_cjd/article/details/79825869 以太网PHY寄存器分析 1 1.以太网PHY标准寄存器分析 2 ...
- 2-1Numpy概述
In [1]: import numpy as np In [2]: array=[1,2,3,4,5] array+1#没定义成numpy.ndarray类型是不能直接操作的 --------- ...
- sqlalchemy(2)
orm介绍 orm英文全称object relational mapping,就是对象映射关系程序,简单来说我们类似python这种面向对象的程序来说一切皆对象,但是我们使用的数据库却都是关系型的,为 ...
- DNS分离解析
实验环境: 一台内网(client)1块网卡:一台网关(dns)2块网卡:一台外网1块网卡 DNS服务器开启路由转发 [root@localhost ~]# vi /etc/sysctl.conf n ...
- python27期day17:re、logging日志模块、作业。
1.re: 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则.(在Python中)它内嵌在Python中,并通过 re 模 ...
- maven介绍(一)
一.什么是maven Maven 翻译过来就是专家,其官网为: http://maven.apache.org/ Maven使用POM (Project Object Model)项目对象模型,就是通 ...