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变量的定义、可变变量、变量引用、销毁方法
Dec 20 PHP
PHP连接MySQL数据的操作要点
Mar 20 PHP
PHP封装CURL扩展类实例
Jul 28 PHP
实例讲解yii2.0在php命令行中运行的步骤
Dec 01 PHP
PHP Static延迟静态绑定用法分析
Mar 16 PHP
Laravel5权限管理方法详解
Jul 26 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
Nov 17 PHP
php实现mysql连接池效果实现代码
Jan 25 PHP
php识别翻转iphone拍摄的颠倒图片
May 17 PHP
PHP PDOStatement::bindColumn讲解
Jan 30 PHP
PHP实时统计中文字数和区别
Feb 28 PHP
laravel 解决ajax异步提交数据,并还回填充表格的问题
Oct 15 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实现猴子选大王问题算法实例
2015/04/20 PHP
PHP进阶学习之反射基本概念与用法分析
2019/06/18 PHP
baidu博客的编辑友情链接的新的层窗口!经典~支持【FF】
2007/02/09 Javascript
XRegExp 0.2: Now With Named Capture
2007/11/30 Javascript
JQuery与Ajax常用代码实现对比
2009/10/03 Javascript
让人印象深刻的10个jQuery手风琴效果应用
2012/05/08 Javascript
使用javascript实现页面定时跳转总结篇
2013/09/21 Javascript
使用JS CSS去除IE链接虚线框的三种方法
2013/11/14 Javascript
javaScript array(数组)使用字符串作为数组下标的方法
2013/11/19 Javascript
jquery插件corner实现圆角边框的方法
2015/03/09 Javascript
JS打字效果的动态菜单代码分享
2015/08/21 Javascript
Bootstrap每天必学之警告框插件
2016/04/26 Javascript
jQuery下拉框的简单应用
2016/06/24 Javascript
JS实现颜色梯度与渐变效果完整实例
2016/12/30 Javascript
80%应聘者都不及格的JS面试题
2017/03/21 Javascript
Angular2开发——组件规划篇
2017/03/28 Javascript
jquery中$.fn和图片滚动效果实现的必备知识总结
2017/04/21 jQuery
node.js中http模块和url模块的简单介绍
2017/10/06 Javascript
浅谈Koa2框架利用CORS完成跨域ajax请求
2018/03/06 Javascript
Vue常用的几个指令附完整案例
2018/11/06 Javascript
vue中过滤器filter的讲解
2019/01/21 Javascript
JQuery常用简单动画操作方法回顾与总结
2019/12/07 jQuery
el-table树形表格表单验证(列表生成序号)
2020/05/31 Javascript
[06:14]《辉夜杯》外卡赛附加赛 4支战队巡礼
2015/10/23 DOTA
在Django的session中使用User对象的方法
2015/07/23 Python
浅谈Python实现贪心算法与活动安排问题
2017/12/19 Python
Python实现正弦信号的时域波形和频谱图示例【基于matplotlib】
2018/05/04 Python
如何在keras中添加自己的优化器(如adam等)
2020/06/19 Python
python删除指定列或多列单个或多个内容实例
2020/06/28 Python
Python常用数字处理基本操作汇总
2020/09/10 Python
详解Python调用系统命令的六种方法
2021/01/28 Python
大龄毕业生求职别忘职业规划
2014/03/11 职场文书
全国税务系统先进集体事迹材料
2014/05/19 职场文书
优秀范文:读《红岩》有感3篇
2019/10/14 职场文书
MySQL数据库事务的四大特性
2022/04/20 MySQL
Win11 Beta 22621.601 和 22622.601今日发布 KB5017384修复内容汇总
2022/09/23 数码科技