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 socke 向指定页面提交数据
Jul 23 PHP
PHP static局部静态变量和全局静态变量总结
Mar 02 PHP
php查询mysql数据库并将结果保存到数组的方法
Mar 18 PHP
PHP实现发送邮件的方法(基于简单邮件发送类)
Dec 17 PHP
PHP请求Socket接口测试实例
Aug 12 PHP
curl 出现错误的调试方法(必看)
Feb 13 PHP
PHP实现下载远程图片保存到本地的方法
Jun 19 PHP
PHP实现的分解质因数操作示例
Aug 01 PHP
PHP实现微信申请退款功能
Oct 01 PHP
PHP微商城开源代码实例
Mar 27 PHP
小程序微信退款功能实现方法详解【基于thinkPHP】
May 05 PHP
php设计模式之策略模式应用案例详解
Jun 17 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
收音机频率指针指示不准确和灵敏度低问题
2021/03/02 无线电
php4与php5的区别小结(配置异同)
2011/12/20 PHP
php实现和c#一致的DES加密解密实例
2017/07/24 PHP
jquery text,radio,checkbox,select操作实现代码
2009/07/09 Javascript
兼容IE、FireFox、Chrome等浏览器的xml处理函数js代码
2011/11/30 Javascript
浅析JQuery获取和设置Select选项的常用方法总结
2013/07/04 Javascript
Javascript实现返回上一页面并刷新的小例子
2013/12/11 Javascript
7个JS基础知识总结
2014/03/05 Javascript
JS中如何判断传过来的JSON数据中是否存在某字段
2014/08/18 Javascript
自己封装的常用javascript函数分享
2015/01/07 Javascript
基于JavaScript实现购物网站商品放大镜效果
2016/09/06 Javascript
BootStrap 弹出层代码
2017/02/09 Javascript
javascript实现table单元格点击展开隐藏效果(实例代码)
2017/04/10 Javascript
js评分组件使用详解
2017/06/06 Javascript
微信小程序实现漂亮的弹窗效果
2020/05/26 Javascript
Vue分页器实现原理详解
2019/06/28 Javascript
VUE页面中通过双击实现复制表格中内容的示例代码
2020/06/11 Javascript
JS实现电脑虚拟键盘打字测试
2020/06/24 Javascript
vue绑定数字类型 value为数字的实例
2020/08/31 Javascript
JavaScript 实现拖拽效果组件功能(兼容移动端)
2020/11/11 Javascript
使用js原生实现年份轮播选择效果实例
2021/01/12 Javascript
python实现的一只从百度开始不断搜索的小爬虫
2013/08/13 Python
Python连接mssql数据库编码问题解决方法
2015/01/01 Python
详解多线程Django程序耗尽数据库连接的问题
2018/10/08 Python
Python使用while循环花式打印乘法表
2019/01/28 Python
Python利用scapy实现ARP欺骗的方法
2019/07/23 Python
NumPy中的维度Axis详解
2019/11/26 Python
python利用platform模块获取系统信息
2020/10/09 Python
python time.strptime格式化实例详解
2021/02/03 Python
HTML5 Video/Audio播放本地文件示例介绍
2013/11/18 HTML / CSS
一级方程式赛车官方网上商店:F1 Store(支持中文)
2018/01/12 全球购物
服装公司总经理岗位职责
2013/11/30 职场文书
婚宴领导致辞
2015/07/28 职场文书
奠基仪式致辞
2015/07/30 职场文书
关于感恩的歌曲整理(8首)
2019/08/14 职场文书
python 网络编程要点总结
2021/06/18 Python