php一些公用函数的集合

yipeiwu_com6年前PHP代码库

/*获得客户端ip地址*/
   

 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($ip); 
}
/*验证IP地址函数*/ 
function checkIP($ip) { 
        return preg_match((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?); 
} 

/*用户输入内容过滤函数*/ 
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)); 
} 

/*$char必须为英文字符*/ 
function getChar($char) { 
    return (ctype_alpha($char)); 
} 
/*匹配qq(5-12)位*/ 
function getQQ($qq) { 
    return preg_match("/^\b[0-9]{5,12}\b/",$qq); 
} 
/*匹配电子邮件地址*/ 
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; 
} 

/*检查ip是否被允许访问*/ 
function ipaccess($ip,$accesslist) { 
        return preg_match("/^(".str_replace(array("\r\n",' '),array('|',''),preg_quote($accesslist,'/')).")/",$ip); 
} 

/*若标题过长,此函数可显示前几个字符,剩余字符用...代替*/ 
function cutstr($string, $length) { 
    if(strlen($string) > $length) { 
        for($i = 0; $i < $length - 3; $i++) { 
                   /*返回字符的序数值*/ 
            $strcut .= ord($string[$i]) > 127 ? $string[$i].$string[++$i] : $string[$i]; 
        } 
        return $strcut.' ...'; 
    } else { 
        return $string; 
    } 
}

                       

标签: 公用函数

相关文章

2017年最新PHP经典面试题目汇总(上篇)

1、双引号和单引号的区别 双引号解释变量,单引号不解释变量 双引号里插入单引号,其中单引号里如果有变量的话,变量解释 双引号的变量名后面必须要有一个非数字、字母、下划线的特...

2010年最新PHP类的精髓归纳第1/2页

 一:结构和调用(实例化):class className{} ,调用:$obj = new className();当类有构造函数时,还应传入参数。如$obj = new c...

php实现微信公众平台账号自定义菜单类

微信公众平台服务号可申请自定义菜单了,其它的号暂时不支持自定义菜单了,这个不但可以使用api来操作,还可以直接在后台定义菜单与参数哦。 服务号可以申请自定义菜单;使用QQ登录的公众号,可...

PHP文件操作之获取目录下文件与计算相对路径的方法

获取目录下文件 1、获取目录下文件,不包括子目录 //获取某目录下所有文件、目录名(不包括子目录下文件、目录名) $handler = opendir($dir); wh...

php如何实现不借助IDE快速定位行数或者方法定义的文件和位置

php 如何实现不借助IDE快速定位行数或者方法定义的文件和位置 借助了ReflectionMethod的一些特性,可以快速获得函数或者方法是在哪个文件的什么位置定义的,对于调试没有文档...