php语言 百分网手机站

PHP生成SiteMap文件的代码(2)

时间:2020-08-04 18:58:57 php语言

PHP生成SiteMap文件的代码

  $notes = $main_sitemap->documentElement;

  $sitemap    = $main_sitemap -> createElement('sitemap');    //创建一个标签

  $loc    = $main_sitemap -> createElement('loc');    //创建一个标签

  $id    = $main_sitemap -> createAttribute('id');      //创建一个属性

  $newsid  = $main_sitemap -> createTextNode($page);        //设置属性内容

  $newsco = $main_sitemap -> createTextNode("http://youdomain/map/sitemap_".$page.".xml");      //设置标签内容

  $id        -> appendChild($newsid);    //继承属性

  $loc    -> appendChild($id);  //继承属性内容

  $loc    -> appendChild($newsco);    //继承标签内容

  $sitemap    -> appendChild($loc);        //继承子类

  $notes    -> appendChild($sitemap);

  $main_sitemap    -> appendChild($notes);

  $main_sitemap    -> save("../sitemap.xml");

  }

  //

  if($page<$pg){

  echo "sitemap_".$page."生成完成,正进行下一个生成";

  $page++;

  echo "<script>location.href='?page=".$page."';</script>";

  }else{

  echo "生成完成!";

  exit();

  }

  function page($page,$total,$pagesize=10,$pagelen=7){

  $url=$_SERVER["REQUEST_URI"];

  $parse_url=parse_url($url);

  $url_path=$parse_url[path];

  $url_query=$parse_url[query];

  $page=$_GET[page];

  if($url_query){

  $url_query=ereg_replace("(^|&)page=$page","",$url_query);

  $url=str_replace($parse_url["query"],$url_query,$url);

  if($url_query) $url.="&page"; else $url.="page";

  }else {

  $url.="?page";

  }

  $phpfile=$url;

  $pagecode = '';//定义变量,存放分页生成的`HTML

  $page = intval($page);//避免非数字页码

  $total = intval($total);//保证总记录数值类型正确

  if(!$total) return array();//总记录数为零返回空数组

  $pages = ceil($total/$pagesize);//计算总分页

  //处理页码合法性

  if($page<1) $page = 1;

  if($page>$pages) $page = $pages;

  //计算查询偏移量

  $offset = $pagesize*($page-1);

  //页码范围计算

  $init = 1;//起始页码数

  $max = $pages;//结束页码数

  $pagelen = ($pagelen%2)?$pagelen:$pagelen+1;//页码个数

  $pageoffset = ($pagelen-1)/2;//页码个数左右偏移量

  //生成html

  $pagecode='<p class="page">';

  $pagecode.="<span>$page/$pages</span>";//第几页,共几页

  //如果是第一页,则不显示第一页和上一页的连接

  if($page!=1){

  $pagecode.="<a href=\"{$phpfile}=1\">&lt;&lt;</a>";//第一页

  $pagecode.="<a href=\"{$phpfile}=".($page-1)."\">&lt;</a>";//上一页

  }

  //分页数大于页码个数时可以偏移

  if($pages>$pagelen){

  //如果当前页小于等于左偏移

  if($page<=$pageoffset){

  $init=1;

  $max = $pagelen;

  }else{//如果当前页大于左偏移

  //如果当前页码右偏移超出最大分页数

  if($page+$pageoffset>=$pages+1){

  $init = $pages-$pagelen+1;

  }else{

  //左右偏移都存在时的计算

  $init = $page-$pageoffset;

  $max = $page+$pageoffset;

  }

  }

  }

  //生成html

  for($i=$init;$i<=$max;$i++){

  if($i==$page){

  $pagecode.='<span>'.$i.'</span>';

  } else {

  $pagecode.="<a href=\"{$phpfile}={$i}\">$i</a>";

  }

  }

  if($page!=$pages){

  $pagecode.="<a href=\"{$phpfile}=".($page+1)."\">&gt;</a>";//下一页

  $pagecode.="<a href=\"{$phpfile}={$pages}\">&gt;&gt;</a>";//最后一页

  }

  $pagecode.='</p>';

  return array('pagecode'=>$pagecode,'sqllimit'=>' limit '.$offset.','.$pagesize);

  }

  ?>

【PHP生成SiteMap文件的代码】相关文章:

PHP实现大文件上传源代码08-29

PHP文件是什么 如何打开PHP文件08-27

PHP代码如何规范09-16

PHP常用代码大全09-16

PHP代码运行流程09-11

PHP代码优化技巧09-07

提高PHP代码质量的技巧09-24

PHP文件怎么操作09-07

如何正确发布PHP代码09-21

如何阅读php源代码09-05