『壹』 php判斷是否是有效IP地址的方法
提供下面兩個方法,供選擇:
functioncheckIp($ip)
{
$arr=explode('.',$ip);
if(count($arr)!=4){
returnfalse;
}else{
for($i=0;$i<4;$i++){
if(($arr[$i]<'0')||($arr[$i]>'255')){
returnfalse;
}
}
}
returntrue;
}
functionisIp($ip){
if(preg_match('/^((?:(?:25[0-5]|2[0-4]d|((1d{2})|([1-9]?d))).){3}(?:25[0-5]|2[0-4]d|((1d{2})|([1-9]?d))))$/',$ip)){
return1;
}else{
return0;
}
}
『貳』 PHP怎麼判斷兩個IP地址是否相等
這個很簡單,直接把兩個IP地址進行 == 判斷就行了:如下
<?php
header('Content-Type:text/html;charset=utf-8');
$ip1="192.168.0.11";
$ip2="192.168.0.22";
/*
還有如果覺得這兩個判斷不行,比較多餘的做法就是直接把兩個IP進行md5加密之後在進行比對
if(md5(trim($ip1))==md5(trim($ip2))){
*/
if(trim($ip1)==trim($ip2)){
echo"兩個IP相等";
}else{
echo"兩個不相IP相等";
}
?>
『叄』 php判斷是否為域名或者ip
你這個方法是通過判斷域名或者ip被「.」分隔成數組後的最後一個元素是否是數字實現的?
應該是有問題的吧,比如aaa.111這個應該不是合法的ip,你這個就通過了。
我覺得還是使用正則比較好。
『肆』 php判斷IP跳轉頁面
<?php
//第一步:透過代理獲取用戶真實的IP地址
$theip=getip();
function getIP()
{
static $realip;
if (isset($_SERVER)){
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
$realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} else if (isset($_SERVER["HTTP_CLIENT_IP"])) {
$realip = $_SERVER["HTTP_CLIENT_IP"];
} else {
$realip = $_SERVER["REMOTE_ADDR"];
}
} else {
if (getenv("HTTP_X_FORWARDED_FOR")){
$realip = getenv("HTTP_X_FORWARDED_FOR");
} else if (getenv("HTTP_CLIENT_IP")) {
$realip = getenv("HTTP_CLIENT_IP");
} else {
$realip = getenv("REMOTE_ADDR");
}
}
return $realip;
}
//第二步:通過讀取IP地址庫,找到所屬地區
//假設表名為ip,欄位有begin(起始),end(結束),area(地區代號)
$dblink=@mysql_connect("資料庫伺服器名","資料庫用戶名","資料庫密碼");
$dbselect=@mysql_select_db(資料庫名);
if (!$dbselect){
die("資料庫無法讀取");
}
$result=mysql_query("select * from `ip` where `begin`<=`$theip` and `end`>=`$theip`");
$num=mysql_num_rows($result);
if($num>0){
$info=mysql_fetch_array($result);
$page=$info['area'];
else{
$page='default'; //如果IP不在資料庫中,則用預設的頁面
}
//第三步:轉到相關頁面,如代號為"js",轉到"js.php"頁面
$page.='.html'; //後綴你可以自己取
echo "<script language=\"javascript\">window.location.replace(\"$page\")</script>";
?>