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 相关文章推荐
如何删除多级目录
Oct 09 PHP
php 数组的合并、拆分、区别取值函数集
Feb 15 PHP
PHP初学者最感迷茫的问题小结
Mar 27 PHP
php中OR与|| AND与&amp;&amp;的区别总结
Oct 26 PHP
支持生僻字且自动识别utf-8编码的php汉字转拼音类
Jun 27 PHP
CodeIgniter安全相关设置汇总
Jul 03 PHP
全面解读PHP的人气开发框架Laravel
Oct 15 PHP
php版微信自动登录并获取昵称的方法
Sep 23 PHP
php的socket编程详解
Nov 20 PHP
PHP 应用容器化以及部署方法
Feb 12 PHP
php中的explode()函数实例介绍
Jan 18 PHP
利用PHP计算有多少小于当前数字的数字方法示例
Aug 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+mysqli实现批量执行插入、更新及删除数据的方法
2015/01/29 PHP
PHP的AES加密算法完整实例
2016/07/20 PHP
PHP检查URL包含特定字符串实例方法
2019/02/11 PHP
PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结
2019/12/04 PHP
安装PHP扩展时解压官方 tgz 文件后没有configure文件无法进行配置编译的问题
2020/08/26 PHP
Javascript 面向对象特性
2009/12/28 Javascript
js打印纸函数代码(递归)
2010/06/18 Javascript
js multiple全选与取消全选实现代码
2012/12/04 Javascript
点击弹出层外区域关闭弹出层jquery特效示例
2013/08/25 Javascript
写出高效jquery代码的19条指南
2014/03/19 Javascript
js获取元素外链样式的方法
2015/01/27 Javascript
javascript日期计算实例分析
2015/06/29 Javascript
轻松实现jQuery添加删除按钮Click事件
2017/03/13 Javascript
详解AngularJS脏检查机制及$timeout的妙用
2017/06/19 Javascript
vue.js自定义组件directives的实例代码
2018/11/09 Javascript
vue项目中将element-ui table表格写成组件的实现代码
2019/06/12 Javascript
js+canvas实现两张图片合并成一张图片的方法
2019/11/01 Javascript
python使用urllib模块开发的多线程豆瓣小站mp3下载器
2014/01/16 Python
Python中的自定义函数学习笔记
2014/09/23 Python
redis之django-redis的简单缓存使用
2018/06/07 Python
Python实现压缩文件夹与解压缩zip文件的方法
2018/09/01 Python
pycharm中成功运行图片的配置教程
2018/10/28 Python
python print出共轭复数的方法详解
2019/06/25 Python
numpy和pandas中数组的合并、拉直和重塑实例
2019/06/28 Python
python selenium 执行完毕关闭chromedriver进程示例
2019/11/15 Python
Python ini文件常用操作方法解析
2020/04/26 Python
HTML5 标准将把互联网视频扔回到黑暗时代
2010/02/10 HTML / CSS
H5新属性audio音频和video视频的控制详解(推荐)
2016/12/09 HTML / CSS
 Alo Yoga官网:购买瑜伽服装
2018/06/17 全球购物
西班牙最好的在线购买葡萄酒的商店:Vinoseleccion
2019/10/30 全球购物
劳资专员岗位职责
2013/12/27 职场文书
知识竞赛活动方案
2014/02/18 职场文书
教师暑期培训感言
2014/08/15 职场文书
导游词之北京明十三陵
2019/10/28 职场文书
只用Python就可以制作的简单词云
2021/06/07 Python
浅谈Java父子类加载顺序
2021/08/04 Java/Android