PHP实现适用于文件内容操作的分页类


Posted in PHP onJune 15, 2016

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

精彩专题分享:php分页功能操作

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

PHP 相关文章推荐
php url地址栏传中文乱码解决方法集合
Jun 25 PHP
php+jquery编码方面的一些心得(utf-8 gb2312)
Oct 12 PHP
PHP删除数组中的特定元素的代码
Jun 28 PHP
php笔记之:初探PHPcms模块开发介绍
Apr 26 PHP
php unset全局变量运用问题的深入解析
Jun 17 PHP
php的dl函数用法实例
Nov 06 PHP
php常用字符串比较函数实例汇总
Nov 24 PHP
PHP设计模式之装饰者模式代码实例
May 11 PHP
PHP实现Google plus的好友拖拽分组效果
Oct 21 PHP
PHP下 Mongodb 连接远程数据库的实例代码
Aug 30 PHP
php使用curl获取header检测开启GZip压缩的方法
Aug 15 PHP
laravel高级的Join语法详解以及使用Join多个条件
Oct 16 PHP
PHP实现适用于自定义的验证码类
Jun 15 #PHP
php实现常见图片格式的水印和缩略图制作(面向对象)
Jun 15 #PHP
使用JavaScript创建新样式表和新样式规则
Jun 14 #PHP
PHP list() 将数组中的值赋给变量的简单实例
Jun 13 #PHP
PHP处理二进制数据的实现方法
Jun 13 #PHP
PHP 在数组中搜索给定的简单实例 array_search 函数
Jun 13 #PHP
phpmailer简单发送邮件的方法(附phpmailer源码下载)
Jun 13 #PHP
You might like
php中使用Curl、socket、file_get_contents三种方法POST提交数据
2011/08/12 PHP
基于PHP+jQuery+MySql实现红蓝(顶踩)投票代码
2015/08/25 PHP
php5.x禁用eval的操作方法
2018/10/19 PHP
详解jQuery插件开发中的extend方法
2013/11/19 Javascript
jquery ajax中使用jsonp的限制解决方法
2013/11/22 Javascript
javascript框架设计读书笔记之种子模块
2014/12/02 Javascript
jQuery滚动新闻实现代码
2016/06/26 Javascript
AngularJS中的promise用法分析
2017/05/19 Javascript
jQuery Ajax 实现分页 kkpager插件实例代码
2017/08/10 jQuery
浅析node Async异步处理模块用例分析及常用方法介绍
2017/11/17 Javascript
详解Vue+axios+Node+express实现文件上传(用户头像上传)
2018/08/10 Javascript
利用python3随机生成中文字符的实现方法
2017/11/24 Python
Python使用 Beanstalkd 做异步任务处理的方法
2018/04/24 Python
Pipenv一键搭建python虚拟环境的方法
2018/05/22 Python
python3爬取数据至mysql的方法
2018/06/26 Python
python微信公众号之关注公众号自动回复
2018/10/25 Python
如何利用Boost.Python实现Python C/C++混合编程详解
2018/11/08 Python
linux查找当前python解释器的位置方法
2019/02/20 Python
python模块导入的方法
2019/10/24 Python
关于python pycharm中输出的内容不全的解决办法
2020/01/10 Python
django-xadmin根据当前登录用户动态设置表单字段默认值方式
2020/03/13 Python
Pycharm插件(Grep Console)自定义规则输出颜色日志的方法
2020/05/27 Python
PySide2出现“ImportError: DLL load failed: 找不到指定的模块”的问题及解决方法
2020/06/10 Python
浅谈keras中的后端backend及其相关函数(K.prod,K.cast)
2020/06/29 Python
如何利用python检测图片是否包含二维码
2020/10/15 Python
Clarins娇韵诗美国官网:法国天然护肤品牌
2016/09/26 全球购物
澳大利亚小众服装品牌:Maurie & Eve
2018/03/27 全球购物
真正的英国宝藏:Mappin & Webb
2019/05/05 全球购物
什么是WEB控件?使用WEB控件有哪些优势?
2012/01/21 面试题
办公室内勤工作职责
2013/12/11 职场文书
广告学专业自荐信范文
2014/02/24 职场文书
我的中国梦演讲稿高中篇
2014/08/19 职场文书
加薪申请报告范本
2015/05/15 职场文书
圣贤教育改变命运观后感
2015/06/16 职场文书
班干部竞选演讲稿(精选5篇)
2019/09/24 职场文书
vue @click.native 绑定原生点击事件
2022/04/22 Vue.js