php分页操作,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 "url."1">首页";

}

//上一页

private function pre(){

if( $this->current > 1 )

return "url.($this->current-1)."">上一页";

}

//下一页

private function next(){

if( $this->current < $this->totalPage)

return "url.($this->current+1)."">下一页";

}

//最后一页

private function end(){

if( $this->current < $this->totalPage )

return "url.$this->totalPage."">末页";

}

public function pageList(){

$pageListStr = "";

for ($i=1;$i<=$this->totalPage;$i++){

if($i==$this->current){

$pageListStr.="".$i." ";

}else{

$pageListStr.="url.$i."">".$i." ";

}

}

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

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程序设计有所帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/348973.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php imagemagick 文档,调用ImageMagick的PHP函数中文文档

bool imagick_writeimage([source image handle],[new name & filetype]) 写图片 UN KNOW USE imagick_writeimages new_handle imagick_clonehandle([image handle]) 复制出新句柄 image_handle imagick_image2blob([blob handle]) 将数据流数据转换成为image数据 ima…

java.util接口_Java 8中java.util.function包中的谓词和使用者接口

java.util接口在上一篇文章中&#xff0c;我写了关于Function接口的内容 &#xff0c;它是java.util.package的一部分。 我还提到了Predicate接口&#xff0c;它是同一包的一部分&#xff0c;在这篇文章中&#xff0c;我将向您展示如何使用Predicate和Consumer接口。 让我们看一…

php datetime 对象,PHP DateTime 对象和 Date 函数的 Demo

DateTime对象//设置时间时区date_default_timezone_set("PRC");$dateFormat "Y-m-d";$dateTimeFormat "Y-m-d H:i:s";//获取当前时间$date new DateTime();echo $date->format($dateTimeFormat) . "\n";//时间2015-01-01加上7年…

将Swagger与Spring Boot REST API集成

在上一篇文章中&#xff0c;我谈到了我使用Spring Boot创建RESTFul Services的经验。 在创建REST API时&#xff0c;正确的文档是其中的必需部分。 昂首阔步是什么&#xff1f; Swagger &#xff08;Swagger 2&#xff09;是用于描述和记录REST API的规范。 它指定了REST Web…

php滴滴平台接口,图片服务API文档

简介滴滴云图片服务API提供标准的轻量级无状态HTTP接口&#xff0c;支持用户对数据的全方位管理。接口概览API描述图片信息获取文件的基本信息&#xff0c;包括长度、宽度、文件大小、格式。图片旋转将图片按顺时针旋转。图片模糊对图片进行模糊操作。图片缩放将图片缩小或者放…

drools。drools_Drools Planner重命名为OptaPlanner:宣布www.optaplanner.org

drools。drools我们很自豪地宣布&#xff0c;从版本6.0.0.Beta1开始&#xff0c;将Drools Planner重命名为OptaPlanner。 我们也很高兴推出其新网站&#xff1a; www.optaplanner.org。 OptaPlanner优化了业务资源的使用。 每个组织都面临计划方面的问题&#xff1a;以有限的有…

php gridview,PHP编程:yii2-GridView在开发中常用的功能及技巧总结

《PHP编程&#xff1a;yii2-GridView在开发中常用的功能及技巧总结》要点&#xff1a;本文介绍了PHP编程&#xff1a;yii2-GridView在开发中常用的功能及技巧总结&#xff0c;希望对您有用。如果有疑问&#xff0c;可以联系我们。相关主题&#xff1a;YII框架数据网格或者说 Gr…

Spring Boot – spring.config.name –案例研究

当必须在不同配置中使用相同的应用程序代码时&#xff0c;外部化Spring Boot应用程序属性会很有用。 如果spring.config.location配置远离源代码&#xff08;无论如何spring.config.location被认为是最佳实践&#xff09;&#xff0c; spring.config.location环境属性可以用于指…

java遇上html,JAVA遇见HTML——JSP篇:JSP内置对象(上)

JSP九大内置对象JSP内置对象是Web容器创建的一组对象&#xff0c;不使用new关键就可以使用的内置对象。int[] value{60,70,80};for(int i:value){out.println(i);}%>Web程序的请求响应模式用户发送请求(request)服务器给用户响应(response)out对象&#xff1a;out对象是JspW…

java中接口文件创建_功能接口简介–在Java 8中重新创建的概念

java中接口文件创建世界各地的所有Java开发人员都将至少使用以下接口之一&#xff1a;java.lang.Runnable&#xff0c;java.awt.event.ActionListener&#xff0c;java.util.Comparator&#xff0c;java.util.concurrent.Callable。 声明的接口之间有一些共同的特征&#xff0c…

java手动注册filter,SpringBoot如何注册Servlet、Filter、Listener的几种方式

在Servlet 3.0之前都是使用web.xml文件进行配置&#xff0c;需要增加Servlet、Filter或者Listener都需要在web.xml增加相应的配置。Servlet 3.0之后可以使用注解进行配置Servlet、Filter或者Listener&#xff1b;springboot也提供了使用代码进行注册Servlet、Filter或者Listene…

Java命令行界面(第12部分):CLAJR

第十二篇有关在Java中处理命令行参数的文章的特色库是带有Java Reflection的命令行参数 &#xff08;CLAJR&#xff09;。 该“库”是单个Java源文件&#xff08; CLAJR-0.9.java &#xff09;&#xff0c; 可从SourceForge下载 。 CLAJR的主页当前显示2006年版权日期&#xff…

php xml相关函数方法,php中对xml读取的相关函数的介绍一

对象 XML解析函数 描述元素 xml_set_element_handler() 元素的开始和结束字符数据 xml_set_character_data_handler() 字符数据的开始外部实体 xml_set_external_entity_ref_handler() 外部实体出现未解析外部实体 xml_set_unparsed_entity_decl_handler() 未解析的外部实体出现…

java调用oracle的函数,从Java调用Oracle函数

我有以下功能规格&#xff1a;FUNCTION FUNC_GET_SOMETHING_FROM_DATABASE ( IN_parameter1 IN VARCHAR2,IN_parameter2 IN VARCHAR2,IN_parameter3 IN VARCHAR2,IN_parameter4 IN VARCHAR2,IN_parameter5 IN VARCHAR2,IN_parameter6 IN VARCHAR2)RETURN REFCURTYP;以下是我在J…

specs.4.8.gz_使用Specs2和客户端API 2.0进行富有表现力的JAX-RS集成测试

specs.4.8.gz毫无疑问&#xff0c; JAX-RS是一项杰出的技术。 即将发布的规范JAX-RS 2.0带来了更多的强大功能&#xff0c;尤其是在客户端API方面。 今天的帖子的主题是JAX-RS服务的集成测试。 有很多优秀的测试框架&#xff0c;例如REST&#xff0c;可以确保提供帮助&#xff…

了解OAuth2令牌认证

1.简介 在本教程中&#xff0c;我们将了解OAuth2令牌身份验证 &#xff0c;以便只有经过身份验证的用户和应用程序才能获得有效的访问令牌&#xff0c;该令牌随后可用于访问服务器上的授权API&#xff08;在OAuth术语中仅是受保护的资源&#xff09;。 使用基于令牌的身份验证…

matlab 冒泡排序函数,Matlab排序算法-遍历排序、冒泡排序

Before Sort: x 2 1 3 4 6 8 5 7 9------------------------------遍历排序&#xff0c;循环8次&#xff0c;第7次得到结果&#xff1a;1. Sort: x 1 2 3 4 6 8 5 7 92. Sort: x 1 2 3 4 6 8 5 7 93. Sort: x 1 2 3 4 6 8 5 7 94. Sort: x 1 2 3 4 6 8 5 7 95. Sort: x 1…

matlab运行dxcv,MATLAB imresize 函数和 OpenCV resize 函数结果不同

为何 MATLAB imresize 函数和 OpenCV resize 函数结果不同&#xff1f;今年 4 月&#xff0c;我在依照 MATLAB 代码自己写一个卷积神经网络 C 实现的过程中&#xff0c;就发现了这个问题&#xff0c;不过那时问题不是太大&#xff0c;所以也没有给出太多关注。今天在 stackover…

Java 9:好的,坏的和私有的接口方法

Java 9 是在几周前发布的。 查看发行说明 &#xff0c;其中包含许多有趣的功能。 不过&#xff0c;我觉得并非一切都是不如甲骨文和Java行家似乎图片吧 。 我看到了Java世界中的三个趋势&#xff0c;分别是好&#xff0c;坏和丑陋。 让我们从好的开始。 Birdman&#xff08;20…

newton迭代法求近似值matlab,Newton迭代法求函数极小值点 Matlab程序

clear allclc%Newton迭代法求解极小值点%090311%%定义函数disp 函数 f(x) 为:syms x1 x2f(x1-2)^4(x1-2)^2*x2^2(x21)^2disp 初始点的值&#xff1a;x0[1;1]%%求函数的梯度和海色阵disp 函数f的梯度&#xff1a;gjacobian(f,[x1;x2])disp 函数f的Hesse矩阵&#xff1a;Gjacobia…