[PHP]經(jīng)常用到的實(shí)用函數(shù)集合第1/2頁(yè)
更新時(shí)間:2007年11月08日 21:17:53 作者:
最新打算學(xué)習(xí)php,發(fā)現(xiàn)好多函數(shù)需要用到,可自己寫又麻煩,于是找了下php的常用函數(shù),從各大php系統(tǒng)中弄下來的,絕對(duì)是使用的php實(shí)用函數(shù)
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") { //時(shí)間的增加(還可以改進(jìn)成時(shí)分秒都可以增加,有時(shí)間再補(bǔ)上)
$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) { //計(jì)算出給出的日期是星期幾
$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) { //檢查時(shí)間是否合法時(shí)間
$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 = "") { //時(shí)間比較函數(shù),返回兩個(gè)日期相差幾秒、幾分鐘、幾小時(shí)或幾天
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) { //獲取一對(duì)html標(biāo)記間的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、關(guān)于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;
}
//調(diào)用方法$browser=browseinfo() ;直接返回結(jié)果
3、獲取訪問者操作系統(tǒng)
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;
}
//調(diào)用方法$os=os_infor() ;
復(fù)制代碼 代碼如下:
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") { //時(shí)間的增加(還可以改進(jìn)成時(shí)分秒都可以增加,有時(shí)間再補(bǔ)上)
$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) { //計(jì)算出給出的日期是星期幾
$dateArr = explode("-", $date);
return date("w", mktime(0,0,0,$dateArr[1],$dateArr[2],$dateArr[0]));
}
復(fù)制代碼 代碼如下:
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) { //檢查時(shí)間是否合法時(shí)間
$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 = "") { //時(shí)間比較函數(shù),返回兩個(gè)日期相差幾秒、幾分鐘、幾小時(shí)或幾天
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;
}
復(fù)制代碼 代碼如下:
function get_innerhtml($html,$label) { //獲取一對(duì)html標(biāo)記間的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、關(guān)于PHP重定向
復(fù)制代碼 代碼如下:
方法一:header("Location: index.php");
方法二:echo "<scrīpt>window.location ="$PHP_SELF";</scrīpt>";
方法三:echo "<META HTTP-EQUIV="Refresh" CONTENT="0; URL=index.php">";
2、獲取訪問者瀏覽器
復(fù)制代碼 代碼如下:
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;
}
//調(diào)用方法$browser=browseinfo() ;直接返回結(jié)果
3、獲取訪問者操作系統(tǒng)
復(fù)制代碼 代碼如下:
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;
}
//調(diào)用方法$os=os_infor() ;
相關(guān)文章
PHP詳解ASCII碼對(duì)照表與字符轉(zhuǎn)換
PHP基礎(chǔ)篇詳解ASCII碼對(duì)照表與字符轉(zhuǎn)換,討論ASCII碼對(duì)照表圖與字符轉(zhuǎn)換為十進(jìn)制、八進(jìn)制、十六進(jìn)制和HTML的方法2011-12-12
調(diào)試一段PHP程序時(shí)遇到的三個(gè)問題
調(diào)試一段PHP程序時(shí)遇到的三個(gè)問題,學(xué)習(xí)php的朋友可以參考下。2012-01-01
Fatal error: session_start(): Failed to initialize storage m
這篇文章主要介紹了Fatal error: session_start(): Failed to initialize storage module: files問題解決方法,需要的朋友可以參考下2014-05-05
php實(shí)現(xiàn)用已經(jīng)過去多長(zhǎng)時(shí)間的方式顯示時(shí)間
這篇文章主要介紹了php實(shí)現(xiàn)用已經(jīng)過去多長(zhǎng)時(shí)間的方式顯示時(shí)間,可實(shí)現(xiàn)相對(duì)時(shí)間的顯示效果,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-06-06
php出現(xiàn)web系統(tǒng)多域名登錄失敗的解決方法
這篇文章主要介紹了php出現(xiàn)web系統(tǒng)多域名登錄失敗的解決方法,針對(duì)同一頂級(jí)域名下的各子站出現(xiàn)登錄失敗的情況非常有用,需要的朋友可以參考下2014-09-09
PHP鉤子與簡(jiǎn)單分發(fā)方式實(shí)例分析
這篇文章主要介紹了PHP鉤子與簡(jiǎn)單分發(fā)方式,結(jié)合實(shí)例形式分析了PHP鉤子的定義與使用方法,以及多通道自由切換的實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-09-09

