[PHP]经常用到的实用函数集合第1/2页

2015-01-24信息快讯网
最新打算学习php,发现好多函数需要用到,可自己写又麻烦,于是找了下php的常用函数,从各大php系统中弄下来的,绝对是使用的php实用函数
function GetIP() { //获取IP 
    if ($_SERVER["HTTP_X_FORWARDED_FOR"]) 
        $ip = $_SERVER["HTTP_X_FORWARDED_FOR"]; 
    else if ($_SERVER["HTTP_CLIENT_IP"]) 
        $ip = $_SERVER["HTTP_CLIENT_IP"]; 
    else if ($_SERVER["REMOTE_ADDR"]) 
        $ip = $_SERVER["REMOTE_ADDR"]; 
    else if (getenv("HTTP_X_FORWARDED_FOR")) 
        $ip = getenv("HTTP_X_FORWARDED_FOR"); 
    else if (getenv("HTTP_CLIENT_IP")) 
        $ip = getenv("HTTP_CLIENT_IP"); 
    else if (getenv("REMOTE_ADDR")) 
        $ip = getenv("REMOTE_ADDR"); 
    else 
        $ip = "Unknown"; 
    return $ip; 
} 

function DateAdd($date, $int, $unit = "d") { //时间的增加(还可以改进成时分秒都可以增加,有时间再补上) 
    $dateArr = explode("-", $date); 
    $value[$unit] = $int; 
    return date("Y-m-d", mktime(0,0,0, $dateArr[1] + $value['m'], $dateArr[2] + $value['d'], $dateArr[0] + $value['y'])); 
} 

function GetWeekDay($date) {  //计算出给出的日期是星期几 
    $dateArr = explode("-", $date); 
    return date("w", mktime(0,0,0,$dateArr[1],$dateArr[2],$dateArr[0])); 
} 

function check_date($date) { //检查日期是否合法日期 
    $dateArr = explode("-", $date); 
    if (is_numeric($dateArr[0]) && is_numeric($dateArr[1]) && is_numeric($dateArr[2])) { 
        return checkdate($dateArr[1],$dateArr[2],$dateArr[0]); 
    } 
    return false; 
} 
function check_time($time) {  //检查时间是否合法时间 
    $timeArr = explode(":", $time); 
    if (is_numeric($timeArr[0]) && is_numeric($timeArr[1]) && is_numeric($timeArr[2])) { 
        if (($timeArr[0] >= 0 && $timeArr[0] <= 23) && ($timeArr[1] >= 0 && $timeArr[1] <= 59) && ($timeArr[2] >= 0 && $timeArr[2] <= 59)) 
            return true; 
        else 
            return false; 
    } 
    return false; 
} 

function DateDiff($date1, $date2, $unit = "") { //时间比较函数,返回两个日期相差几秒、几分钟、几小时或几天 
    switch ($unit) { 
        case 's': 
            $dividend = 1; 
            break; 
        case 'i': 
            $dividend = 60; 
            break; 
        case 'h': 
            $dividend = 3600; 
            break; 
        case 'd': 
            $dividend = 86400; 
            break; 
        default: 
            $dividend = 86400; 
    } 
    $time1 = strtotime($date1); 
    $time2 = strtotime($date2); 
    if ($time1 && $time2) 
        return (float)($time1 - $time2) / $dividend; 
    return false; 
}

function get_innerhtml($html,$label) {   //获取一对html标记间的html字符串 
    $result_arr = preg_split("/<\/".$label.">/i",$html); 
    $pattern = "/<".$label.".*?>/i"; 
    for ($i = 0; $i < count($result_arr); $i++) { 
        list($left, $right) = preg_split($pattern,$result_arr[$i],2); 
        $result_arr[$i] = $right; 
    } 
    return $result_arr; 
} 
//例: echo get_innerhtml("<tr><td height=20>something</td></tr>", "td");   //will print "something". 

function get_input_value($input) { //获取Input的HTML代码中的Value值 
    $pos = stripos($input, "value=") + 6; 
    if ($pos !== false) { 
        $input = substr($input, $pos); 
        if (substr($input, 0, 1) == "\"") 
            return substr($input, 1, strpos($input, "\"", 1) - 1); 
        else 
            return substr($input, 0, strpos($input, " ") - 1); 
    } 
    return false; 
} 

function getcontentbetween($a, $b, $str) { //获取字符串$str中,字符串$a与字符串$b之间的字符串 
    if ($str!=="" && $a!=="" && $b!=="") { 
        $start = strpos($str, $a) + strlen($a); 
        return substr($str, $start, strpos($str, $b, $start + 1) - $start); 
    } 
    return false; 
} 


1、关于PHP重定向
方法一:header("Location: index.php");  
方法二:echo "<scrīpt>window.location ="$PHP_SELF";</scrīpt>";  
方法三:echo "<META HTTP-EQUIV="Refresh" CONTENT="0; URL=index.php">"; 

2、获取访问者浏览器
function browse_infor()  
{  
$browser="";$browserver="";  
$Browsers =array("Lynx","MOSAIC","AOL","Opera","JAVA","MacWeb","WebExplorer","OmniWeb");  
$Agent = $GLOBALS["HTTP_USER_AGENT"];  
for ($i=0; $i<=7; $i++)  
{  
if (strpos($Agent,$Browsers[$i]))  
{  
$browser = $Browsers[$i];  
$browserver ="";  
}  
}  
if (ereg("Mozilla",$Agent) && !ereg("MSIE",$Agent))  
{  
$temp =explode("(", $Agent); $Part=$temp[0];  
$temp =explode("/", $Part); $browserver=$temp[1];  
$temp =explode(" ",$browserver); $browserver=$temp[0];  
$browserver =preg_replace("/([d.]+)/","1",$browserver);  
$browserver = " $browserver";  
$browser = "Netscape Navigator";  
}  
if (ereg("Mozilla",$Agent) && ereg("Opera",$Agent))  
{  
$temp =explode("(", $Agent); $Part=$temp[1];  
$temp =explode(")", $Part); $browserver=$temp[1];  
$temp =explode(" ",$browserver);$browserver=$temp[2];  
$browserver =preg_replace("/([d.]+)/","1",$browserver);  
$browserver = " $browserver";  
$browser = "Opera";  
}  
if (ereg("Mozilla",$Agent) && ereg("MSIE",$Agent))  
{  
$temp = explode("(", $Agent); $Part=$temp[1];  
$temp = explode(";",$Part); $Part=$temp[1];  
$temp = explode(" ",$Part);$browserver=$temp[2];  
$browserver =preg_replace("/([d.]+)/","1",$browserver);  
$browserver = " $browserver";  
$browser = "Internet Explorer";  
}  
if ($browser!="")  
{  
$browseinfo = "$browser$browserver";  
}  
else  
{  
$browseinfo = "Unknown";  
}  
return $browseinfo;  
}  
//调用方法$browser=browseinfo() ;直接返回结果 

3、获取访问者操作系统
function osinfo() {  
$os="";  
$Agent = $GLOBALS["HTTP_USER_AGENT"];  
if (eregi('win',$Agent) && strpos($Agent, '95')) {  
$os="Windows 95";  
}  
elseif (eregi('win 9x',$Agent) && strpos($Agent, '4.90')) {  
$os="Windows ME";  
}  
elseif (eregi('win',$Agent) && ereg('98',$Agent)) {  
$os="Windows 98";  
}  
elseif (eregi('win',$Agent) && eregi('nt 5.0',$Agent)) {  
$os="Windows 2000";  
}  
elseif (eregi('win',$Agent) && eregi('nt',$Agent)) {  
$os="Windows NT";  
}  
elseif (eregi('win',$Agent) && eregi('nt 5.1',$Agent)) {  
$os="Windows XP";  
}  
elseif (eregi('win',$Agent) && ereg('32',$Agent)) {  
$os="Windows 32";  
}  
elseif (eregi('linux',$Agent)) {  
$os="Linux";  
}  
elseif (eregi('unix',$Agent)) {  
$os="Unix";  
}  
elseif (eregi('sun',$Agent) && eregi('os',$Agent)) {  
$os="SunOS";  
}  
elseif (eregi('ibm',$Agent) && eregi('os',$Agent)) {  
$os="IBM OS/2";  
}  
elseif (eregi('Mac',$Agent) && eregi('PC',$Agent)) {  
$os="Macintosh";  
}  
elseif (eregi('PowerPC',$Agent)) {  
$os="PowerPC";  
}  
elseif (eregi('AIX',$Agent)) {  
$os="AIX";  
}  
elseif (eregi('HPUX',$Agent)) {  
$os="HPUX";  
}  
elseif (eregi('NetBSD',$Agent)) {  
$os="NetBSD";  
}  
elseif (eregi('BSD',$Agent)) {  
$os="BSD";  
}  
elseif (ereg('OSF1',$Agent)) {  
$os="OSF1";  
}  
elseif (ereg('IRIX',$Agent)) {  
$os="IRIX";  
}  
elseif (eregi('FreeBSD',$Agent)) {  
$os="FreeBSD";  
}  
if ($os=='') $os = "Unknown";  
return $os;  
}  
//调用方法$os=os_infor() ; 

©2014-2024 dbsqp.com