PHP实现适用于文件内容操作的分页类
2016-08-17来源:

本文实例为大家分享了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 "首页";

}

//上一页

private function pre(){

if( $this->current > 1 )

return "上一页";

}

//下一页

private function next(){

if( $this->current < $this->totalPage)

return "下一页";

}

//最后一页

private function end(){

if( $this->current < $this->totalPage )

return "末页";

}

public function pageList(){

$pageListStr = '';

for ($i=1;$i<=$this->totalPage;$i++){

if($i==$this->current){

$pageListStr.="".$i." ";

}else{

$pageListStr.="".$i." ";

}

}

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;

}

}

以上就是本文的全部内容,希望对大家学习PHP程序设计有所帮助。

推荐信息
Baidu
map