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 相关文章推荐
对Session和Cookie的区分与解释
Mar 16 PHP
php smarty 二级分类代码和模版循环例子
Jun 16 PHP
php数组(array)输出的三种形式详解
Jun 05 PHP
深入php define()函数以及defined()函数的用法详解
Jun 05 PHP
php class中public,private,protected的区别以及实例分析
Jun 18 PHP
php中cookie的使用方法
Mar 29 PHP
PHP计算百度地图两个GPS坐标之间距离的方法
Jan 09 PHP
PHP Reflection API详解
May 12 PHP
php提交post数组参数实例分析
Dec 17 PHP
基于thinkPHP实现的微信自定义分享功能示例
Sep 23 PHP
PHP实现webshell扫描文件木马的方法
Jul 31 PHP
golang实现php里的serialize()和unserialize()序列和反序列方法详解
Oct 30 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分页效率终结版(推荐)
2013/07/01 PHP
在Win7 中为php扩展配置Xcache
2014/10/08 PHP
PHP中实现Bloom Filter算法
2015/03/30 PHP
php实现格式化多行文本为Js可用格式
2015/04/15 PHP
Yii编程开发常见调用技巧集锦
2016/07/15 PHP
utf8的编码算法 转载
2006/12/27 Javascript
JavaScript 类似flash效果的立体图片浏览器
2010/02/08 Javascript
Grid得到选择行数据的方法总结
2011/01/17 Javascript
Javascript中找到子元素在父元素内相对位置的代码
2012/07/21 Javascript
JS数学函数Exp使用说明
2012/08/09 Javascript
Jquery index()方法 获取相应元素索引值
2012/10/12 Javascript
jQuery中replaceAll()方法用法实例
2015/01/16 Javascript
js计算时间差代码【包括计算,天,时,分,秒】
2016/04/26 Javascript
jQuery+CSS3+Html5实现弹出层效果实例代码(附源码下载)
2016/05/16 Javascript
js入门之Function函数的使用方法【新手必看】
2016/11/22 Javascript
微信小程序  wx.request合法域名配置详解
2016/11/23 Javascript
Vue在页面右上角实现可悬浮/隐藏的系统菜单
2018/05/04 Javascript
vue加载完成后的回调函数方法
2018/09/07 Javascript
layui layer select 选择被遮挡的解决方法
2019/09/21 Javascript
layer.confirm()右边按钮实现href的例子
2019/09/27 Javascript
es6数组includes()用法实例分析
2020/04/18 Javascript
[01:25:09]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS DT第二场
2014/05/24 DOTA
[01:48]帕吉至宝加入游戏,遗迹战场现“千劫神屠”
2018/04/07 DOTA
布同 统计英文单词的个数的python代码
2011/03/13 Python
django加载本地html的方法
2018/05/27 Python
Python正则表达式学习小例子
2020/03/03 Python
家用个人磨皮机:Trophy Skin
2017/03/30 全球购物
护士自荐信范文
2013/12/15 职场文书
优秀志愿者事迹材料
2014/02/03 职场文书
公司年会主持词
2014/03/22 职场文书
家长会主持词
2014/03/26 职场文书
另类冲刺标语
2014/06/24 职场文书
兵马俑的导游词
2015/02/02 职场文书
Python 处理表格进行成绩排序的操作代码
2021/07/26 Python
vue3不同环境下实现配置代理
2022/05/25 Vue.js
JavaScript圣杯布局与双飞翼布局实现案例详解
2022/08/05 Javascript