PHP网站开发常用类库,值得拥有

各位条子,大家早上好!

今天给大家分享的是一款PHP网站开发常用类库。

本库中专门存放PHP网站开发时常用的类库例如验证码生成、字符串处理、内容验证等类库文件说明Evildao:网络开发专用类库Image:图像处理类库Page:分页类库String:字符串处理类库UploadFile:文件上传类库

源码过长,有想要文件版源码的可以来我的PHP交流每天都会分享技术知识、PHP优质类库,期待各路小白大神的惠顾!

好了废话不多说上源码!

Page:

?php

namespaceCommonLibrary;

classPage{

public$firstRow;//起始行数

public$listRows;//列表每页显示行数

public$parameter;//分页跳转时要带的参数

public$totalRows;//总行数

public$totalPages;//分页总页面数

public$rollPage=11;//分页栏每页显示的页数

public$lastSuffix=true;//最后一页是否显示总页数

private$p=p;//分页参数名

private$url=;//当前链接URL

private$nowPage=1;

//分页显示定制

private$config=array(

header=spanclass=rows共%TOTAL_ROW%条记录/span,

prev=,

next=,

first=1...,

last=...%TOTAL_PAGE%,

theme=%FIRST%%UP_PAGE%%LINK_PAGE%%DOWN_PAGE%%END%,

);

/**

*架构函数

*

paramarray$totalRows总的记录数

*

paramarray$listRows每页显示记录数

*

paramarray$parameter分页跳转的参数

*/

publicfunction__construct($totalRows,$listRows=20,$parameter=array()){

C(VAR_PAGE)$this-p=C(VAR_PAGE);//设置分页参数名称

/*基础设置*/

$this-totalRows=$totalRows;//设置总记录数

$this-listRows=$listRows;//设置每页显示行数

$this-parameter=empty($parameter)?$_GET:$parameter;

$this-nowPage=empty($_GET[$this-p])?1:intval($_GET[$this-p]);

$this-nowPage=$this-nowPage0?$this-nowPage:1;

$this-firstRow=$this-listRows*($this-nowPage-1);

}

/**

*定制分页链接设置

*

paramstring$name设置名称

*

paramstring$value设置值

*/

publicfunctionsetConfig($name,$value){

if(isset($this-config[$name])){

$this-config[$name]=$value;

}

}

/**

*生成链接URL

*

paraminteger$page页码

*

returnstring

*/

privatefunctionurl($page){

returnstr_replace(urlencode([PAGE]),$page,$this-url);

}

/**

*组装分页链接

*

returnstring

*/

publicfunctionshow(){

if(0==$this-totalRows)return;

/*生成URL*/

$this-parameter[$this-p]=[PAGE];

$this-url=U(ACTION_NAME,$this-parameter);

/*计算分页信息*/

$this-totalPages=ceil($this-totalRows/$this-listRows);//总页数

if(!empty($this-totalPages)$this-nowPage$this-totalPages){

$this-nowPage=$this-totalPages;

}

/*计算分页零时变量*/

$now_cool_page=$this-rollPage/2;

$now_cool_page_ceil=ceil($now_cool_page);

$this-lastSuffix$this-config[last]=$this-totalPages;

//上一页

$up_row=$this-nowPage-1;

$up_page=$up_row0?liahref=.$this-url($up_row)..$this-config[prev]./a/li:;

//下一页

$down_row=$this-nowPage+1;

$down_page=($down_row=$this-totalPages)?liahref=.$this-url($down_row)..$this-config[next]./a/li:;

//第一页

$the_first=;

if($this-totalPages$this-rollPage($this-nowPage-$now_cool_page)=1){

$the_first=liahref=.$this-url(1)..$this-config[first]./a/li;

}

//最后一页

$the_end=;

if($this-totalPages$this-rollPage($this-nowPage+$now_cool_page)$this-totalPages){

$the_end=liahref=.$this-url($this-totalPages)..$this-config[last]./a/li;

}

//数字连接

$link_page=;

for($i=1;$i=$this-rollPage;$i++){

if(($this-nowPage-$now_cool_page)=0){

$page=$i;

}elseif(($this-nowPage+$now_cool_page-1)=$this-totalPages){

$page=$this-totalPages-$this-rollPage+$i;

}else{

$page=$this-nowPage-$now_cool_page_ceil+$i;

}

if($page0$page!=$this-nowPage){

if($page=$this-totalPages){

$link_page.=liahref=.$this-url($page)..$page./a/li;

}else{

break;

}

}else{

if($page0$this-totalPages!=1){

$link_page.=liclass=activeahref=#.$page.spanclass=sr-only(current)/span/a/li;

}

}

}

//替换分页内容

$page_str=str_replace(

array(%HEADER%,%NOW_PAGE%,%UP_PAGE%,%DOWN_PAGE%,%FIRST%,%LINK_PAGE%,%END%,%TOTAL_ROW%,%TOTAL_PAGE%),

array($this-config[header],$this-nowPage,$up_page,$down_page,$the_first,$link_page,$the_end,$this-totalRows,$this-totalPages),

$this-config[theme]);

returnulclass=pagination.$page_str./ul;

}

}




转载请注明:http://www.aierlanlan.com/rzgz/2252.html