php实现域名
PHP 实现域名操作的方法
获取当前域名
使用 $_SERVER['HTTP_HOST'] 可以获取当前访问的域名(不含协议和路径)。
$currentDomain = $_SERVER['HTTP_HOST'];
echo $currentDomain; // 输出类似:example.com
获取完整 URL
使用 $_SERVER['REQUEST_URI'] 结合 HTTP_HOST 和协议判断,可以获取完整的 URL。

$protocol = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? 'https://' : 'http://';
$fullUrl = $protocol . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
echo $fullUrl; // 输出类似:https://example.com/path
提取域名部分
使用 parse_url() 可以解析 URL 并提取域名、路径等信息。
$url = "https://www.example.com/path?query=123";
$parsed = parse_url($url);
$domain = $parsed['host']; // 输出:www.example.com
验证域名格式
使用正则表达式或 PHP 内置函数检查域名是否合法。

$domain = "example.com";
if (filter_var($domain, FILTER_VALIDATE_DOMAIN, FILTER_FLAG_HOSTNAME)) {
echo "域名有效";
} else {
echo "域名无效";
}
获取主域名(去除子域名)
通过字符串处理或正则表达式提取主域名。
$domain = "sub.example.com";
$parts = explode('.', $domain);
$mainDomain = $parts[count($parts)-2] . '.' . $parts[count($parts)-1];
echo $mainDomain; // 输出:example.com
检查域名是否可访问
使用 gethostbyname() 或 checkdnsrr() 判断域名是否解析。
$domain = "example.com";
if (gethostbyname($domain) !== $domain) {
echo "域名可解析";
} else {
echo "域名不可解析";
}
以上方法涵盖了常见的域名操作需求,包括获取、解析、验证和检查域名的可用性。





