🗣 Wd提问: php获取网站域名
🤖 Ai回答: 在PHP中获取网站域名有多种方法,以下是最常用的几种:
1、使用 `$_SERVER` 超全局变量
获取完整域名(包含协议)
php
<?php
// 获取完整的域名(包括http/https)
$domain = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? https : http) 、://$_SERVER[HTTP_HOST];
echo $domain;
// 或者更简洁的写法
$domain = ($_SERVER['HTTPS'] ?? 'off') === 'on' ? 'https://' : 'http://';
$domain .= $_SERVER['HTTP_HOST'];
echo $domain;
?
只获取域名部分
php
<?php
// 只获取域名(不包含端口号)
$hostname = $_SERVER['HTTP_HOST'];
echo $hostname;
// 去除端口号
$domain = parse_url($_SERVER['HTTP_HOST'], PHP_URL_HOST);
echo $domain;
?
2、使用 `parse_url()` 函数
php
<?php
// 从当前URL解析域名
$current_url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? https : http) 、://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI];
$parsed_url = parse_url($current_url);
$domain = $parsed_url['host'];
echo $domain;
// 或者直接解析HTTP_HOST
$host = $_SERVER['HTTP_HOST'];
$parsed_host = parse_url(http://$host);
echo $parsed_host['host'];
?
3、更完善的函数封装
php
<?php
function getDomain() {
$protocol = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? 'https' : 'http';
$host = $_SERVER['HTTP_HOST'];
// 如果需要去除端口号
$host_without_port = preg_replace('/:\d+$/', '', $host);
return $protocol 、'://' 、$host_without_port;
}
function getDomainWithoutPort() {
$host = $_SERVER['HTTP_HOST'];
return preg_replace('/:\d+$/', '', $host);
}
// 使用示例
echo getDomain(); // 输出: http://65.hk 或 https://65.hk
echo getDomainWithoutPort(); // 输出: 65.hk
?
4、处理不同情况的完整方案
php
<?php
function getWebsiteDomain($include_protocol = true, $remove_port = true) {
// 检查是否使用HTTPS
$protocol = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on') ? 'https' : 'http';
// 获取主机名
$host = $_SERVER['HTTP_HOST'] ?? '';
// 如果需要去除端口号
if ($remove_port) {
$host = preg_replace('/:\d+$/', '', $host);
}
// 返回结果
if ($include_protocol) {
return $protocol 、'://' 、$host;
}
return $host;
}
// 使用示例
echo getWebsiteDomain(); // http://65.hk
echo getWebsiteDomain(true); // https://65.hk (如果使用HTTPS)
echo getWebsiteDomain(false); // 65.hk (不包含协议)
?
5、从URL字符串中提取域名
php
<?php
function extractDomainFromUrl($url) {
$parsed = parse_url($url);
return $parsed['host'] ?? '';
}
// 示例
$url = https://www.65.hk:8080/path/to/page?param=value;
$domain = extractDomainFromUrl($url);
echo $domain; // 输出: www.65.hk
?
注意事项
1、HTTPS检测:使用 `$_SERVER['HTTPS']` 来判断是否为HTTPS
2、端口号处理:域名可能包含端口号,如 `65.hk:8080`
3、服务器配置:某些情况下 `HTTP_HOST` 可能不可用
4、安全性:不要直接信任用户输入的主机名
最简单实用的方法
php
<?php
// 最简单的获取域名方法
$domain = $_SERVER['HTTP_HOST'];
echo $domain;
// 如果需要完整URL
$full_domain = (isset($_SERVER['HTTPS']) ? 'https' : 'http') 、'://' 、$_SERVER['HTTP_HOST'];
echo $full_domain;
?
选择哪种方法取决于你的具体需求。如果是简单使用,推荐使用 `$_SERVER['HTTP_HOST']`;如果需要更复杂的处理,可以使用封装好的函数。
📣 商家广告:





0
IP地址: 50.112.161.212
搜索次数: 0
提问时间: 2025-11-05 13:54:04
🛒 域名购买:
mv8.net
diaowang.com.cn
s.tw.cn
kr.gs
lr.gs
81.biz
3.gx.cn
02.gs
xhkt.net
dttt.com.cn
❓️ 热门提问:
e系列主机
电脑加速网页
美杜莎vps
云计算中心提供的虚拟主机和存储服务属于
vps4
ssh命令行登录服务器
yii2教程
租 国外服务器
whois服务器地址
vps公网ip创建
豌豆Ai站群搜索引擎系统
🌐 域名评估:
xphone.video
qktb.cn
aaaa.fj.cn
sun.xz.cn
kimi.yachts
qpkc.cn
su.hl.cn
kk.sc.cn
jf.cx
jhre.cn
⛏ 最新挖掘:
凯里酸汤鱼
贵阳烤脑花
都匀毛尖茶
花溪牛肉粉
贵阳烤生蚝
贵阳烤豆腐
贵阳纸包鱼
贵阳特色菜
🖌 热门作画:
🤝 关于我们:
豌豆Ai
域名
建站
站群
留痕
推广
评估
源码
开发Ai
工具
日记
价格
加盟
广告
流量
留言
联系
🗨 加入群聊:
🔗 友情链接:
한국 기업
Search engine
ai提问
🧰 站长工具:
Ai工具 whois查询 搜索
📢 温馨提示:本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。
👉 技术支持:本站由豌豆Ai提供技术支持,使用的最新版:《豌豆Ai站群搜索引擎系统 V.25.10.25》搭建本站。