PHP实现文件内容操作的分页类,强调一下只针对文件的操作,供大家参考,具体内容如下
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | <?php classStrPage { private$current;  //当前页  private$file;  //操作文件 private$totalPage;  //总的页数 private$url;  //传递的参数 private$pageLen;  //每页显示的长度  $this->file = file_get_contents($file); $this->pageLen = $len; $this->current = isset($_GET['page'])?$_GET['page']:1; $this->totalPage = $this->getTotalPage(); $this->url = $this->getUrl(); }   //获取到这个文件总的长度 privatefunctiongetTotalPage(){ returnceil(strlen($this->file)/$this->pageLen); }  //获取当前传递的参数,保留参数,page参数动态变化 privatefunctiongetUrl(){ $url=parse_url($_SERVER['REQUEST_URI']); parse_str($url['query'],$queryArr); unset($queryArr['page']); $queryStr= http_build_query($queryArr); return$url['path'].'?'.$queryStr.'&page=';  }   //首页 privatefunctionfirst(){ if($this->current>1)  return"<a href='".$this->url."1'>首页</a>"; } //上一页 privatefunctionpre(){ if( $this->current > 1 )  return"<a href='".$this->url.($this->current-1)."'>上一页</a>"; } //下一页 privatefunctionnext(){ if( $this->current < $this->totalPage)  return"<a href='".$this->url.($this->current+1)."'>下一页</a>"; } //最后一页 privatefunctionend(){ if( $this->current < $this->totalPage )  return"<a href='".$this->url.$this->totalPage."'>末页</a>"; }  publicfunctionpageList(){ $pageListStr= ''; for($i=1;$i<=$this->totalPage;$i++){  if($i==$this->current){  $pageListStr.="<span style='font-size:20px;color:#f00'>".$i."</span> ";  }else{  $pageListStr.="<a href='".$this->url.$i."'>".$i." </a>";  } } return$pageListStr; }  publicfunctionpageStyle($style=1){  switch($style){  case1:   return"共有".$this->totalPage."页".$this->first().$this->pre().$this->pageList().$this->next().$this->end();   break;  case2;  return$this->pageList();  break;  } }  publicfunctiongetContents(){ $prePageLen= strlen($this->subStrs($this->current-1)); $currentPageLen= strlen($this->subStrs($this->current)); returnsubstr($this->file, $prePageLen,$currentPageLen-$prePageLen); }  publicfunctionsubStrs($page){   $string= '';  $len= $page*$this->pageLen;  for( $i=0; $i<$len; $i++ ){   if( ord(substr($this->file,$i,1))>0xa0 ){   $string.= substr($this->file,$i,3);   $i= $i+2;  }else{   $string.= substr($this->file, $i,1);  }  }  return$string;   } } | 
© 版权声明
本文刊载的所有内容,包括文字、图片、音频、视频、软件、程序、以及网页版式设计等部门来源于互联网,版权均归原作者所有!本网站提供的内容服务于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
联系信息:邮箱aoxolcom@163.com或见网站底部。
联系信息:邮箱aoxolcom@163.com或见网站底部。
THE END
    



















请登录后发表评论
注册
社交帐号登录