PHP常用公共函数

//Php4.2及以上版本中让php页面显示出错信息
error_reporting (E_ALL);
ini_set('display_errors', '1');

/*用户输入内容过滤函数*/
function getStr($str) {
    $tmpstr = trim($str);
    $tmpstr = strip_tags($tmpstr);
    $tmpstr = htmlspecialchars($tmpstr);
    /*加入字符转义*/
    $tmpstr = addslashes($tmpstr);
    return $tmpstr;
}

/*容量大小计算函数*/
function sizecount($filesize) {
        if($filesize >= 1073741824) {
                $filesize = round($filesize / 1073741824 * 100) / 100 . ' G';
        } elseif($filesize >= 1048576) {
                $filesize = round($filesize / 1048576 * 100) / 100 . ' M';
        } elseif($filesize >= 1024) {
                $filesize = round($filesize / 1024 * 100) / 100 . ' K';
        } else {
                $filesize = $filesize . ' bytes';
        }
        return $filesize;
}

/*简单防SQL注入函数*/
function getSQL($feild) {
    $tmpfeild = mysql_escape_string($feild);
    return $tmpfeild;
}
/*$num必须为英文字符或数字0-9*/
function getNums($num) {
    return (ctype_alnum($num));
}
                                                                                         
/*匹配电子邮件地址*/
function getEmail($email) {
    return strlen($email)>6 && preg_match("/^/w+@(/w+/.)+[com]|[cn]$/" , $email);
// preg_match("/^[/w/-/.]+@[/w/-/.]+(/./w+)+$/",$email);
}

/*生成email连接*/
function emailconv($email,$tolink=1) {
        $email=str_replace(array('@','.'),array('@','.'),$email);
        return $tolink ? '<a href="mailto: '.$email.'">'.$email.'</a>':$email;
}

 

 

 


/*$char必须为英文字符,全是返回1true,有中文返回0false*/
function getChar($char) {
    return (ctype_alpha($char));
}

/*匹配$QQ(5-12)位,是返回1,否返回0*/
function getQQ($QQ) {
   return preg_match("/^/b[0-9]{5,12}/b/",$QQ);
}
/*过滤$str字符前后的空格*/
function Cltrim($str) {
   return trim($str);
}
/*检查$str是否为数字,是返回true,否返回false*/
function CheckIsNum($str){
      return ereg("^[0-9]+$",$str) ? true : false;
}
/*若标题$str过长,显示前$len个字符,剩余字符用...代替*/
function showShort($str,$len=0)
{
if(!$len)return $str;
$tempstr = csubstr($str,0,$len);
if ($str<>$tempstr)$tempstr .= "..."; //要以什么结尾,修改这里就可以.
return $tempstr;
}
/*计算$str字符数并按$len数截取,两个中文或一个英文等于一字节*/
function csubstr($str,$start=0,$len=0)
{
if(!$len)return $str;
$tmpstr="";
$start=0;
$strlen=strlen($str);
$clen=0;
for($i=0;$i<$strlen;$i++,$clen++)
{
if ($clen>=$start+$len)
break;
if(ord(substr($str,$i,1))>0xa0)
{
if ($clen>=$start) $tmpstr.=substr($str,$i,2);
$i++;
} else {
if ($clen>=$start) $tmpstr.=substr($str,$i,1);
}
}
return $tmpstr;
}
/*检查ip是否被允许访问,$ip是正在访问的IP
$accesslist是设定禁止访问的IP,多个设定用"|"分隔,如:127.0.0.1|245.235.12.23|125.14.23.1
能访问返true,不能访问返false*/
function CheckIPOk($ip,$accesslist) {
$ip=CheckIsIP($ip) ? $ip : "127.0.0.1";//防假IP登陆
$CheckIP=0;
$Checknum=0;
$list = explode( "|",$accesslist);//取得分割字符串值
$listnum = substr_count($accesslist,"|");//取得分割切入点次数
for($i=0;$i<$listnum+1;$i++){
$CheckIP += preg_match("/^(".str_replace(array("/r/n",' '),array('|',''),preg_quote($accesslist[$i],'/')).")/",$ip);
}
return $ip ? false : true;
}
/*验证$ip地址函数,真IP返回true,假IP返回false*/
function CheckIsIP($ip){
return !strcmp(long2ip(sprintf('%u',ip2long($ip))),$ip) ? true : false;
}
/*获得客户端ip地址,调用方法getIP()*/
function getIP() {
        if(getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"),"unknown")) {
                $ip = getenv("HTTP_CLIENT_IP");
        }
        else if(getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"),"unknown")) {
                $ip = getenv("HTTP_X_FORWARDED_FOR");
        }
        else if(getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"),"unknown")) {
                $ip = getenv("REMOTE_ADDR");
        }
        else if(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'],"unknown")) {
                $ip = $_SERVER['REMOTE_ADDR'];
        }
        else {
                $ip = "unknown";
        }
        return CheckIsIP($ip) ? $ip : "unknown" ;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值