function.inc.php 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. <?php
  2. /**
  3. * 本文件放置与业务有关又无需写成类的函数
  4. *
  5. * 与业务无关的函数放置于function_common.inc.php
  6. * 系统环境有关的函数见lib/common/Env类
  7. * 参数检查有关的函数见lib/common/ParamCheck类
  8. *
  9. * @createtime 2018/03/01
  10. * @author 空竹
  11. * @copyright 芝麻开发(http://www.zhimawork.com)
  12. */
  13. /**
  14. * 获得执行程序的时间(秒)
  15. *
  16. * @param $starttime
  17. * @param $endtime
  18. *
  19. * @return
  20. */
  21. function getRunTime($starttime = 0, $endtime = 0){
  22. global $PageStartTime;
  23. if(empty($starttime)){
  24. $starttime = $PageStartTime;
  25. }
  26. if(empty($endtime)){
  27. $PageEndTime = explode(' ',microtime());
  28. $PageEndTime = $PageEndTime[1] + $PageEndTime[0];
  29. $endtime = $PageEndTime;
  30. }
  31. $runtime = number_format(($endtime - $starttime), 3);
  32. return $runtime;
  33. }
  34. /**
  35. * 分页参数page传递后的处理
  36. *
  37. * @param mixed $pagecount 页数
  38. * @return
  39. */
  40. function getPage($pagecount){
  41. $page = empty($_GET['page']) ? 1 : safeCheck($_GET['page']);
  42. if(!is_numeric($page)) $page = 1;
  43. if($page < 1) $page = 1;
  44. if(empty($pagecount))
  45. $page = 1;
  46. elseif($page > $pagecount)
  47. $page = $pagecount;
  48. return $page;
  49. }
  50. /**
  51. * 分页显示 dspPages()--具体样式再通过CSS控制
  52. * 形如:
  53. * 1 2 3 × × × 98 99 100
  54. * 1 × × × 7 8 9 × × × 100
  55. *
  56. * @param $page 当前页数
  57. * @param $pagecount 总页数
  58. * @return
  59. */
  60. function dspPages($page, $pagecount){
  61. //当前页面的URL
  62. $url = Env::getPageUrl();
  63. //参数合法性检查
  64. if(!is_numeric($page)) $page = 0;
  65. if(!is_numeric($pagecount)) $pagecount = 0;
  66. //处理Page参数
  67. $p1 = strpos($url, '?page=');
  68. if($p1) $url = substr($url, 0, $p1);
  69. $p2 = strpos($url, '&page=');
  70. if($p2) $url = substr($url, 0, $p2);
  71. //构建显示
  72. $temppage="";
  73. $temppage.="<div class=\"pagenum\">";
  74. if($page>1){
  75. $temppage.="<div class=\"page_prev\"><a href=\"".$url."?page=".($page-1)."\">上一页</a></div>";
  76. }else{
  77. $temppage.="<div class=\"page_prev\">上一页</div>";
  78. }
  79. If($pagecount<9){
  80. for($p=1;$p<=$pagecount;$p++){
  81. if($p!=$page)
  82. $temppage.=" <div class=\"pager\"><a href=\"".$url."?page=".$p."\">".$p."</a></div>";
  83. else
  84. $temppage.=" <div class=\"pager active\"><a href=\"".$url."?page=".$p."\">".$p."</a></div>";
  85. }
  86. }else{
  87. if($page<=3){
  88. for($p=1;$p<=5;$p++){
  89. if($p!=$page)
  90. $temppage.=" <div class=\"pager\"><a href=\"".$url."?page=".$p."\">".$p."</a></div>";
  91. else
  92. $temppage.=" <div class=\"pager active\"><a href=\"".$url."?page=".$p."\">".$p."</a></div>";
  93. }
  94. $temppage.=" <div class=\"pager\">...</div>";
  95. for($p=$pagecount-3;$p<=$pagecount;$p++){
  96. if($p!=$page)
  97. $temppage.=" <div class=\"pager\"><a href=\"".$url."?page=".$p."\">".$p."</a></div>";
  98. else
  99. $temppage.=" <div class=\"pager active\"><a href=\"".$url."?page=".$p."\">".$p."</a></div>";
  100. }
  101. }else if($pagecount-$page<=3){
  102. for($p=1;$p<=3;$p++){
  103. $temppage.=" <div class=\"pager\"><a href=\"".$url."?page=".$p."\">".$p."</a></div>";
  104. }
  105. $temppage.="<div class=\"pager\">...</div>";
  106. for($p=$pagecount-4;$p<=$pagecount;$p++){
  107. if($p!=$page){
  108. $temppage.=" <div class=\"pager\"><a href=\"".$url."?page=".$p."\">".$p."</a></div>";
  109. }else{
  110. $temppage.=" <div class=\"pager active\"><a href=\"".$url."?page=".$p."\">".$p."</a></div>";
  111. }
  112. }
  113. }
  114. else{
  115. $temppage.=" <div class=\"pager\"><a href=\"".$url."?page=1\">1</a></div>";
  116. $temppage.=" <div class=\"pager\">...</div>";
  117. for($p=$page-2;$p<=$page+2;$p++){
  118. if($p!=$page){
  119. $temppage.=" <div class=\"pager\"><a href=\"".$url."?page=".$p."\">".$p."</a></div>";
  120. }else{
  121. $temppage.=" <div class=\"pager active\">".$p."</div>";
  122. }
  123. }
  124. $temppage.="<div class=\"pager\">...</div>";
  125. $temppage.=" <div class=\"pager\"><a href=\"".$url."?page=".$pagecount."\">".$pagecount."</a></div>";
  126. }
  127. }
  128. if($page<=$pagecount-1){
  129. $temppage.="<div class=\"page_prev\"><a href=\"".$url."?page=".($page+1)."\">下一页</a></div>";
  130. }else{
  131. $temppage.="<div class=\"page_prev\">下一页</div>";
  132. }
  133. $temppage .="</div>";
  134. if(!strpos($url, "?") === false)
  135. $temppage=str_replace("?page=", "&page=", $temppage);
  136. return $temppage;
  137. }
  138. ?>