Home > php教程 > php手册 > 文件内容操作的分页类

文件内容操作的分页类

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-06-06 19:39:19
Original
1367 people have browsed it

学习中所得,不过这个只是针对文件的操作,如果是数据库,就需要自己做个数据库的类 ?php class StrPage {private $current;//当前页 private $file;//操作文件private $totalPage;//总的页数private $url;//传递的参数private $pageLen;//每页显示的长度fun

学习中所得,不过这个只是针对文件的操作,如果是数据库,就需要自己做个数据库的类

<?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;
			
		}

}
Copy after login

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template