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

 更新时间:2007年11月08日 21:17:53   作者:  
最新打算学习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() ; 

相关文章

  • PHP字符串的递增和递减示例介绍

    PHP字符串的递增和递减示例介绍

    这篇文章主要介绍了PHP中字符串的递增和递减,需要的朋友可以参考下
    2014-02-02
  • is_uploaded_file函数引发的不能上传文件问题

    is_uploaded_file函数引发的不能上传文件问题

    不能上传文件,都返回失败。经过排查发现是PHP中的is_uploaded_file函数在捣鬼,下面是具体的处理方法,有类似情况的朋友可以参考下
    2013-10-10
  • PHP简单实现生成txt文件到指定目录的方法

    PHP简单实现生成txt文件到指定目录的方法

    这篇文章主要介绍了PHP简单实现生成txt文件到指定目录的方法,简单对比分析了PHP中fwrite及file_put_contents等函数的使用方法,需要的朋友可以参考下
    2016-04-04
  • php模块memcache和memcached区别分析

    php模块memcache和memcached区别分析

    谈及php搭配memcached使用,已经是老生常谈的问题。但是有一些细节,不见得人人清楚。比如说php的模块memcache和memcached有什么区别等。下面我就简单介绍一下。
    2011-06-06
  • PHP基于curl实现模拟微信浏览器打开微信链接的方法示例

    PHP基于curl实现模拟微信浏览器打开微信链接的方法示例

    这篇文章主要介绍了PHP基于curl实现模拟微信浏览器打开微信链接的方法,结合实例形式分析了php使用curl通过设置HTTP_USER_AGENT实现模拟微信浏览器相关操作技巧,需要的朋友可以参考下
    2019-02-02
  • div li的多行多列 无刷新分页示例代码

    div li的多行多列 无刷新分页示例代码

    翻页文件一次加载了全部的内容,因而不是很适合大型的网站,而适用于数据比较少的情况,下面有个不错的示例,感兴趣的朋友可以参考下
    2013-10-10
  • php如何调用webservice应用介绍

    php如何调用webservice应用介绍

    Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术,接下来将详细介绍php如何调用webservice,需要的朋友可以了解下
    2012-11-11
  • PHP实现字符串大小写转函数的功能实例

    PHP实现字符串大小写转函数的功能实例

    这篇文章主要给大家介绍了关于利用PHP如何实现字符串大小写转函数功能的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友一起来看看啊
    2019-02-02
  • php实现mysql备份恢复分卷处理的方法

    php实现mysql备份恢复分卷处理的方法

    这篇文章主要介绍了php实现mysql备份恢复分卷处理的方法,包括完整的MySQL备份恢复类文件及用法实例,注释包含了详尽的用法说明,是非常实用的技巧,需要的朋友可以参考下
    2014-12-12
  • PHP实现算式验证码和汉字验证码实例

    PHP实现算式验证码和汉字验证码实例

    这篇文章主要介绍了PHP实现算式验证码和汉字验证码实例,本文直接给出实现代码,需要的朋友可以参考下
    2015-03-03

最新评论