PHP獲取域名、IP地址的方法


本文介紹下,在php中,獲取域名以及域名對應的IP地址的方法,有需要的朋友參考下。
在php中可以使用內置函數gethostbyname獲取域名對應的IP地址,比如:
1 <?php
2 echo gethostbyname("www.jbxue.com");
3 ?>

以上會輸出域名所對應的的IP。
對於做了負載與cdn的域名來講,可能返回的結果會有不同,這點注意下。

下面來說說獲取域名的方法,例如有一段網址:http://www.jbxue.com/all-the-resources-of-this-blog.html
方法1,

復制代碼代碼示例:
//全局數組
echo $_SERVER[“HTTP_HOST”];
//則會輸出www.jbxue.com

本地測試則會輸出localhost。

方法2,使用parse_url函數;

1 <?php
2 $url ="http://www.jbxue.com/index.php?referer=jbxue.com";
3 $arr=parse_url($url);
4 echo "<pre>";
5 print_r($arr);
6 echo "</pre>";
7 ?>

輸出為數組,結果為:

Array
(
[scheme] => http
[host] => www.jbxue.com
[path] => /index.php
[query] => referer=jbxue.com
)

說明:
scheme對應着協議,host則對應着域名,path對應着執行文件的路徑,query則對應着相關的參數;

方法3,采用自定義函數。

01 <?php
02     $url ="http://www.jbxue.com/index.php?referer=jbxue.com";
03     get_host($url);
04     function get_host($url){
05         //首先替換掉http://
06         $url=Str_replace("http://","",$url);
07         //獲得去掉http://url的/最先出現的位置
08         $position=strpos($url,"/");
09         //如果沒有斜杠則表明url里面沒有參數,直接返回url,
10         //否則截取字符串
11         if($position==false){
12             echo $url;
13         }else{
14             echo substr($url,0,$position);
15         }
16     }
17 ?>

方法4,使用php正則表達式

1 <?php
2     header("Content-type:text/html;charset=utf-8");
3     $url ="http://www.jbxue.com/index.php?referer=jbxue.com";
4     $pattern="/(http:\/\/)?(.*)\//";
5     if(preg_match($pattern,$url,$arr)){
6         echo "匹配成功!";
7         echo "匹配結果:".$arr[2];
8     }
9 ?>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM