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 相关文章推荐
table标签的结构与合并单元格的实现方法
Jul 24 PHP
zf框架的校验器使用使用示例(自定义校验器和校验器链)
Mar 13 PHP
PHP+jQuery翻板抽奖功能实现
Oct 19 PHP
PHP实现的各类hash算法长度及性能测试实例
Aug 27 PHP
PHP面向对象五大原则之里氏替换原则(LSP)详解
Apr 08 PHP
PHP折半(二分)查找算法实例分析
May 12 PHP
PHP实现数组转JSon和JSon转数组的方法示例
Jun 14 PHP
PHP递归算法的简单实例
Feb 28 PHP
thinkphp整合系列之极验滑动验证码geetest功能
Jun 18 PHP
Laravel 实现数据软删除功能
Aug 21 PHP
使用laravel和ECharts实现折线图效果的例子
Oct 09 PHP
PHP Pipeline 实现中间件的示例代码
Apr 26 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编程之高级技巧——利用Mysql函数
2006/10/09 PHP
php实现mysql数据库备份类
2008/03/20 PHP
mysql+php分页类(已测)
2008/03/31 PHP
php读取msn上的用户信息类
2008/12/05 PHP
Symfony控制层深入详解
2016/03/17 PHP
php while循环控制的简单实例
2016/05/30 PHP
让div层随鼠标移动的实现代码 ie ff
2009/12/18 Javascript
jquery.combobox中文api和例子,修复了上面的小bug
2011/03/28 Javascript
js 采用delete实现继承示例代码
2014/05/20 Javascript
JavaScript中使用Callback控制流程介绍
2015/03/16 Javascript
在vue项目创建的后初始化首次使用stylus安装方法分享
2018/01/25 Javascript
jQuery实现新闻播报滚动及淡入淡出效果示例
2018/03/23 jQuery
详解react-redux插件入门
2018/04/19 Javascript
Vue3 中的数据侦测的实现
2019/10/09 Javascript
vue.js的状态管理vuex中store的使用详解
2019/11/08 Javascript
vscode中Vue别名路径提示的实现
2020/07/31 Javascript
原生js实现九宫格拖拽换位
2021/01/26 Javascript
用Python从零实现贝叶斯分类器的机器学习的教程
2015/03/31 Python
Python中为什么要用self探讨
2015/04/14 Python
python实现自主查询实时天气
2018/06/22 Python
python随机数分布random均匀分布实例
2019/11/27 Python
flask框架url与重定向操作实例详解
2020/01/25 Python
用CSS3实现无限循环的无缝滚动的示例代码
2017/11/01 HTML / CSS
深入研究HTML5实现图片压缩上传功能
2016/03/25 HTML / CSS
HTML5 Canvas 旋转风车绘制
2017/08/18 HTML / CSS
美国时尚孕妇装品牌:A Pea in the Pod
2017/07/16 全球购物
巴西最大的家具及装饰用品店:Mobly
2017/10/11 全球购物
干部考核评语
2014/04/29 职场文书
国家奖学金获奖感言
2014/08/16 职场文书
先进单位申报材料
2014/12/25 职场文书
地道战观后感500字
2015/06/04 职场文书
孙振耀退休感言
2015/08/01 职场文书
《敬重卑微》读后感3篇
2019/11/26 职场文书
JDBC连接的六步实例代码(与mysql连接)
2021/05/12 MySQL
教你用Python爬取英雄联盟皮肤原画
2021/06/13 Python
oracle设置密码复杂度及设置超时退出的功能
2022/06/28 Oracle