Home >Backend Development >PHP Tutorial >init.php file PHP implements paging classes suitable for file content operations
The example of this article shares with you the paging class of PHP to implement file content operation. It emphasizes the operation only for files 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>".$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
That’s it The entire content of this article is hoped to be helpful to everyone in learning PHP programming.
The above introduces the init.php file. PHP implements paging classes suitable for file content operations, including the content of the init.php file. I hope it will be helpful to friends who are interested in PHP tutorials.