PHP实现适用于文件内容操作的分页类
来源: 阅读:642 次 日期:2016-08-17 14:39:59
温馨提示: 小编为您整理了“PHP实现适用于文件内容操作的分页类”,方便广大网友查阅!

本文实例为大家分享了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程序设计有所帮助。

更多信息请查看 网络编程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们| 联系我们| 人才招聘| 网站声明| 网站帮助| 非正式的简要咨询| 简要咨询须知| 加入群交流| 手机站点| 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:
咨询QQ:526150442(9:00—18:00) 版权所有:
云南网警报警专用图标
Baidu
map