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; 
    } 
}

                       

标签: 公用函数

相关文章

PHP多维数组遍历方法(2种实现方法)

本文实例讲述了PHP多维数组遍历方法。分享给大家供大家参考,具体如下: 方法一: $a=array('fruits'=>array('a'=>'orange', 'b...

php小技巧之过滤ascii控制字符

还记得以前在工作中,将爬来的其它网站的数据导到xml。但是会遇到一个问题:即网页会有ascII的控制字符。一开始以为是别人为了防止采集而加入的,然后发现一个就往过滤表里加一个。直到慢慢发...

浅析PHP中Session可能会引起并发问题

在进行Web应用程序开发的时候,人们经常会用Session存储数据。但可能有人不知道,在PHP中,Session使用不当可能会引起并发问题。印度医疗行业软件解决方案提供商Plus91 T...

调试一段PHP程序时遇到的三个问题

1,filesize()函数返回错误的值。 使用curl将某个页面下载到本地时,需要将下载到的临时文件tmpHtml.txt的内容读取到一个缓冲区中。由于我使用fread()进行读取,需...

PHP析构函数destruct与垃圾回收机制的讲解

析构函数 当某个对象成为垃圾或者当对象被显式销毁时执行。 PHP5中提供的析构函数是__destruct,其与构造方法__construct相对应。 垃圾回收——GC(Garbage C...