【笔记】PHP中好用的代码片段

来源:互联网 发布:魔剑生死棋刘依依知乎 编辑:程序博客网 时间:2024/06/04 00:32

此笔记主要记录PHP中常用到的一些代码片段


锚点

    • 分页功能
    • IP获取


分页功能

效果图

这里写图片描述

PHP

/** * 分页 * @param $page_count   总页数 * @param $show_number  显示多少页 * @return string */function paging($page_count,$show_number){    $getAttr=$_GET;    $currentPage=!empty($getAttr['page']) ? $getAttr['page'] : 1;    $href='//'.$_SERVER['SERVER_NAME'].$_SERVER["PATH_INFO"];    $pageStr='';    //上一页    if($currentPage>1){        $getAttr['page']=$currentPage-1;        $url=$href."?".http_build_query($getAttr);        $pageStr='<a href="'.$url.'" class="page-prev">上一页</a>';    }else{        $pageStr.='<a href="javascript:;" class="page-prev paging-disabled">上一页</a>';    }    //当前页数的前后    $leftPage_num=floor($show_number/2);    $rightPage_num=$show_number-$leftPage_num;    $left=max($currentPage-$leftPage_num,1);    $right=min($left+$show_number-1,$page_count);    $left=max($right-$show_number+1,1);    //省略部分和显示最小页数(首页)    if($left>1){        $_GET['page']=1;        $url=$href."?".http_build_query($_GET);        $pageStr.='<a href="'.$url.'" class="page-next">'.$_GET['page'].'</a>';        //特殊条件  如 上一页1...234下一页  就去掉省略号直接显示  上一页1234下一页        if(($left-1)!=1){            $pageStr.='<span  class="spr">…</span>';        }    }    //显示页码    for($i=$left;$i<$right+1;$i++){        $_GET['page']=$i;        if($currentPage==$i){            $pageStr.='<span class="paging-current">'.$i.'<em>'.$i.'</em></span>';        }else{            $url=$href."?".http_build_query($_GET);            $pageStr.='<a href="'.$url.'" class="">'.$i.'</a>';        }    }    //省略部分和最大页数(末页)    if($right<$page_count){        $_GET['page']=$page_count;        $url=$href."?".http_build_query($_GET);        //特殊条件  如 上一页123...4下一页  就去掉省略号直接显示        if(($right+1)!=$page_count){            $pageStr.='<span  class="spr">…</span>';        }        $pageStr.='<a href="'.$url.'" class="page-next">'.$_GET['page'].'</a>';    }    //下一页    if($currentPage!=$page_count){        $getAttr['page']=$currentPage+1;        $url=$href."?".http_build_query($getAttr);        $pageStr.='<a href="'.$url.'" class="page-next">下一页</a>';    }else{        $pageStr.='<a href="javascript:;" class="page-next paging-disabled">下一页</a>';    }    $pageStr='<div class="pagingCtn">'.$pageStr.'</div>';    return $pageStr;}

css

.pagingCtn {    display: inline-block;    vertical-align: middle;    margin: 10px 0;    font-size: 0;}.pagingCtn>a:first-child, .pagingCtn>a:first-child em {    border-radius: 2px 0 0 2px;}.pagingCtn a, .pagingCtn span {    display: inline-block;    vertical-align: middle;    padding: 0 15px;    height: 28px;    line-height: 28px;    margin: 0 -1px 5px 0;    background-color: #fff;    color: #333;    font-size: 12px;}.pagingCtn a {    text-decoration: none;}.pagingCtn  a:hover {    color: #009688;}.pagingCtn a,.pagingCtn span {    text-align: center;    border: 1px solid #e2e2e2;}.pagingCtn>.paging-current{    position: relative;}.pagingCtn>.paging-current em {    position: absolute;    left: -1px;    top: -1px;    padding: 1px;    width: 100%;    height: 100%;    background-color: #009688;    color: #FFF;    font-style: normal;    border-radius: 2px;    box-sizing: content-box;    z-index: 1;}.paging-disabled,.paging-disabled:hover {    color: #d2d2d2!important;    cursor: not-allowed!important;}

IP获取

PHP

/** * 获取客户端IP地址 * @param integer   $type 返回类型 0 返回IP地址 1 返回IPV4地址数字 * @param boolean   $adv 是否进行高级模式获取(有可能被伪装) * @return mixed */function ip($type = 0, $adv = false){    $type      = $type ? 1 : 0;    static $ip = null;    if (null !== $ip) {        return $ip[$type];    }    if ($adv) {        if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {            $arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);            $pos = array_search('unknown', $arr);            if (false !== $pos) {                unset($arr[$pos]);            }            $ip = trim(current($arr));        } elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {            $ip = $_SERVER['HTTP_CLIENT_IP'];        } elseif (isset($_SERVER['REMOTE_ADDR'])) {            $ip = $_SERVER['REMOTE_ADDR'];        }    } elseif (isset($_SERVER['REMOTE_ADDR'])) {        $ip = $_SERVER['REMOTE_ADDR'];    }    // IP地址合法验证    $long = sprintf("%u", ip2long($ip));    $ip   = $long ? [$ip, $long] : ['0.0.0.0', 0];    return $ip[$type];}
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 重庆人力资源网 人力资源模块 甘肃省人力资源和社会保障厅 甘肃省人力资源社会保障厅 山东省人力资源社会保障厅 人力资源大模块 人力资源社会保障部 四川省人力和社会保障厅 淄博市人力资源和社会保障网 甘肃人力资源社会保障厅 重庆人力和社会保障网 淄博市人力资源社会保障网 山东省人力资源保障厅 贵阳人力资源网 重庆人力社会保障网 重庆人力资源 广州市人力资源社会保障局 甘肃人力资源保障厅 广州市人力资源和社会保障局 人力社会保障局社保网 深圳市人力资源社会保障局 贵阳人力资源 深圳市人力资源和社会保障局 重庆市人力资源和社会保障局 青岛市人力资源和社会保障局 罗德岛人力资源部 河南省人力资源和社会保障厅 重庆人力资源和社保局网 潍坊市人力资源和社会保障局 台山人才人力资源网 河南省人力资源社会保障厅 重庆市人力资源社会保障局 潍坊市人力资源社会保障局 广州市人力资源保障局 深圳市人力资源保障局 北京市人力资源和社会保障局 重庆市人力资源社会保障网 成都市人力资源和社会保障局 北京市人力资源社会保障局 吴江人力资源 贵阳人力资源社会保障网