php一些公用函数的集合

时间:2021-09-07 15:22:48
  1. /*获得客户端ip地址*/  
  2.     function getIP() {  
  3.         if(getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"),"unknown")) {  
  4.                 $ip = getenv("HTTP_CLIENT_IP");  
  5.         }  
  6.         else if(getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"),"unknown")) {  
  7.                 $ip = getenv("HTTP_X_FORWARDED_FOR");  
  8.         }  
  9.         else if(getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"),"unknown")) {  
  10.                 $ip = getenv("REMOTE_ADDR");  
  11.         }  
  12.         else if(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'],"unknown")) {  
  13.                 $ip = $_SERVER['REMOTE_ADDR'];  
  14.         }  
  15.         else {  
  16.                 $ip = "unknown";  
  17.         }  
  18.  
  19.         return($ip);  
  20. }  
  21.  
  22. /*验证IP地址函数*/  
  23. function checkIP($ip) {  
  24.         return preg_match((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?);  
  25. }  
  26.  
  27. /*用户输入内容过滤函数*/  
  28. function getStr($str) {  
  29.     $tmpstr = trim($str);  
  30.     $tmpstr = strip_tags($tmpstr);  
  31.     $tmpstr = htmlspecialchars($tmpstr);  
  32.  
  33.     /*加入字符转义*/  
  34.     $tmpstr = addslashes($tmpstr);  
  35.  
  36.     return $tmpstr;  
  37. }  
  38.  
  39. /*容量大小计算函数*/  
  40. function sizecount($filesize) {  
  41.         if($filesize >= 1073741824) {  
  42.                 $filesize = round($filesize / 1073741824 * 100) / 100 . ' G';  
  43.         } elseif($filesize >= 1048576) {  
  44.                 $filesize = round($filesize / 1048576 * 100) / 100 . ' M';  
  45.         } elseif($filesize >= 1024) {  
  46.                 $filesize = round($filesize / 1024 * 100) / 100 . ' K';  
  47.         } else {  
  48.                 $filesize = $filesize . ' bytes';  
  49.         }  
  50.         return $filesize;  
  51. }  
  52.  
  53. /*简单防SQL注入函数*/  
  54. function getSQL($feild) {  
  55.     $tmpfeild = mysql_escape_string($feild);  
  56.  
  57.     return $tmpfeild;  
  58. }  
  59. /*$num必须为英文字符或数字0-9*/  
  60. function getNums($num) {  
  61.     return (ctype_alnum($num));  
  62. }  
  63.  
  64. /*$char必须为英文字符*/  
  65. function getChar($char) {  
  66.     return (ctype_alpha($char));  
  67. }  
  68. /*匹配qq(5-12)位*/  
  69. function getQQ($qq) {  
  70.     return preg_match("/^\b[0-9]{5,12}\b/",$qq);  
  71. }  
  72. /*匹配电子邮件地址*/  
  73. function getEmail($email) {  
  74.     return strlen($email)>6 && preg_match("/^\w+@(\w+\.)+[com]|[cn]$/" , $email);  
  75. // preg_match("/^[\w\-\.]+@[\w\-\.]+(\.\w+)+$/",$email);  
  76. }  
  77.  
  78. /*生成email连接*/  
  79. function emailconv($email,$tolink=1) {  
  80.         $email=str_replace(array('@','.'),array('@','.'),$email);  
  81.         return $tolink ? '<a href="mailto: '.$email.'">'.$email.'</a>':$email;  
  82. }  
  83.  
  84. /*检查ip是否被允许访问*/  
  85. function ipaccess($ip,$accesslist) {  
  86.         return preg_match("/^(".str_replace(array("\r\n",' '),array('|',''),preg_quote($accesslist,'/')).")/",$ip);  
  87. }  
  88.  
  89. /*若标题过长,此函数可显示前几个字符,剩余字符用...代替*/  
  90. function cutstr($string, $length) {  
  91.     if(strlen($string) > $length) {  
  92.         for($i = 0; $i < $length - 3; $i++) {  
  93.                    /*返回字符的序数值*/  
  94.             $strcut .= ord($string[$i]) > 127 ? $string[$i].$string[++$i] : $string[$i];  
  95.         }  
  96.         return $strcut.' ...';  
  97.     } else {  
  98.         return $string;  
  99.     }  
  100. }