phpでルートドメイン名を取得する方法のまとめ、phpでドメイン名を取得する方法のまとめ
この記事の例では、PHP でルート ドメイン名を取得する方法を要約し、参考のために共有します。具体的な実装方法は以下の通りです
現在アクセスしているページのドメイン名を取得するだけの場合は、PHP の HTTP_HOST 関数を使用するだけで済みます。URL のルート ドメイン名を抽出したい場合は、それを正規化する必要があります。いくつかの具体的な例を見てみましょう。
現在のドメイン名を取得するのは非常に簡単です:
コードをコピーします コードは次のとおりです:
// 現在のドメイン名を取得します:
echo $_SERVER['SERVER_NAME'];
// ソース URL を取得します。つまり、クリックするとこのページの前のページ URL に移動します
echo $_SERVER["HTTP_REFERER"];
$_SERVER['REQUEST_URI'];//現在のドメイン名のサフィックスを取得します
$_SERVER['HTTP_HOST'];//現在のドメイン名を取得します
dirname(__FILE__);// 現在のファイルの物理パスを取得します
dirname(__FILE__)."/../";//現在のファイルの上位物理パスを取得します
?>
例1
コードをコピーします コードは次のとおりです:
function getUrlRoot($url){
#頭としっぽを追加します
$url = $url . "/";
#ドメイン名を判断する
preg_match("/((w*)://)?w*.?([w|-]*.(com.cn|net.cn|gov.cn|org.cn|com|net|cn|org |アジア|電話|モビ|私|テレビ|ビジネス|cc|名前|情報))
//", $url, $ohurl);
#ジャッジIP
If($ohurl[3] == ''){
Preg_match("/((d+.){3}d+)//", $url, $ohip);
return $ohip[1];
}
return $ohurl[3];
}
例 2
コードをコピーします コードは次のとおりです:
/**
* ルートドメイン名を取得します
* @param type $domain ドメイン名
* @return string ルートドメイン名を返します
*/
関数 GetUrlToDomain($domain) {
$re_domain = '';
$domain_postfix_cn_array = array("com", "net", "org", "gov", "edu", "com.cn", "cn");
$array_domain =explode(".", $domain);
$array_num = count($array_domain) - 1;
If ($array_domain[$array_num] == 'cn') {
If (in_array($array_domain[$array_num - 1], $domain_postfix_cn_array)) {
$re_domain = $array_num - 2 . $array_domain[$array_num] ."
} else {
$re_domain = $array_domain[$array_num - 1] ."
}
} その他 {
$re_domain = $array_domain[$array_num - 1] ."
}
$re_domain を返します;
}
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。
通常のPHPセクションでルートドメイン名を抽出する方法([0-9a-zA-Z-.]+?\.)?[0-9a-zA-Z-]\.[a-zA-Z]{2,4}$
phpを使用してドメイン名に対応するIPを取得するにはどうすればよいですか?