Home >Backend Development >PHP Tutorial >PHP implements paging class suitable for file content operations, _PHP tutorial
The example in this article shares the PHP paging class for file content operations. It is emphasized that it is only for file operations. For your reference, the specific content is as follows
<?php class StrPage { private $current; //当前页 private $file; //操作文件 private $totalPage; //总的页数 private $url; //传递的参数 private $pageLen; //每页显示的长度 function __construct( $file,$len = 200 ){ $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(); } //获取到这个文件总的长度 private function getTotalPage(){ return ceil(strlen($this->file)/$this->pageLen); } //获取当前传递的参数,保留参数,page参数动态变化 private function getUrl(){ $url =parse_url($_SERVER['REQUEST_URI']); parse_str($url['query'],$queryArr); unset($queryArr['page']); $queryStr = http_build_query($queryArr); return $url['path'].'?'.$queryStr.'&page='; } //首页 private function first(){ if($this->current>1) return "<a href='".$this->url."1'>首页</a>"; } //上一页 private function pre(){ if( $this->current > 1 ) return "<a href='".$this->url.($this->current-1)."'>上一页</a>"; } //下一页 private function next(){ if( $this->current < $this->totalPage) return "<a href='".$this->url.($this->current+1)."'>下一页</a>"; } //最后一页 private function end(){ if( $this->current < $this->totalPage ) return "<a href='".$this->url.$this->totalPage."'>末页</a>"; } public function pageList(){ $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; } public function pageStyle($style=1){ switch ($style){ case 1: return "共有".$this->totalPage."页".$this->first().$this->pre().$this->pageList().$this->next().$this->end(); break; case 2; return $this->pageList(); break; } } public function getContents(){ $prePageLen = strlen($this->subStrs($this->current-1)); $currentPageLen = strlen($this->subStrs($this->current)); return substr($this->file, $prePageLen,$currentPageLen-$prePageLen); } public function subStrs($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; } }
Wonderful topic sharing: php paging function operation
The above is the entire content of this article. I hope it will be helpful to everyone in learning PHP programming.