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

文件内容操作的分页类

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-06-06 19:39:19
Original
1367 Leute haben es durchsucht

学习中所得,不过这个只是针对文件的操作,如果是数据库,就需要自己做个数据库的类 ?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;
			
		}

}
Nach dem Login kopieren

Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage