PHP实现适用于文件内容操作的分页类
本文实例为大家分享了PHP实现文件内容操作的分页类,强调一下只针对文件的操作,供大家参考,具体内容如下
<?php classStrPage{ 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(); } //获取到这个文件总的长度 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"<ahref='".$this->url."1'>首页</a>"; } //上一页 privatefunctionpre(){ if($this->current>1) return"<ahref='".$this->url.($this->current-1)."'>上一页</a>"; } //下一页 privatefunctionnext(){ if($this->current<$this->totalPage) return"<ahref='".$this->url.($this->current+1)."'>下一页</a>"; } //最后一页 privatefunctionend(){ if($this->current<$this->totalPage) return"<ahref='".$this->url.$this->totalPage."'>末页</a>"; } publicfunctionpageList(){ $pageListStr=''; for($i=1;$i<=$this->totalPage;$i++){ if($i==$this->current){ $pageListStr.="<spanstyle='font-size:20px;color:#f00'>".$i."</span> "; }else{ $pageListStr.="<ahref='".$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; } }
精彩专题分享:
以上就是本文的全部内容,希望对大家学习PHP程序设计有所帮助。