PHP 如何获取当前的域名

本文介绍如何使用PHP内置的$_SERVER全局变量来获取服务器的相关信息,包括当前的域名、来源网址、请求URI等,对于理解服务器环境配置及网站跳转逻辑有一定帮助。
<?
//获取当前的域名:
echo $_SERVER['SERVER_NAME'];
//获取来源网址,即点击来到本页的上页网址
echo $_SERVER["HTTP_REFERER"];
$_SERVER['REQUEST_URI'];//获取当前域名的后缀
$_SERVER['HTTP_HOST'];//获取当前域名
dirname(__FILE__);//获取当前文件的物理路径
dirname(__FILE__)."/../";//获取当前文件的上一级物理路径
?>


不同的编程语言和框架有不同的获取当前域名的方法,以下是几种常见的情况: ### PHPPHP 中,可以通过 `$_SERVER['HTTP_HOST']` 来获取当前域名,以下是获取当前域名前缀的代码示例: ```php $prefix = explode('.', $_SERVER['HTTP_HOST'])[0]; echo "当前域名的前缀为:" . $prefix; ``` 该代码通过 `explode` 函数将 `$_SERVER['HTTP_HOST']` 按 `.` 分割成数组,取数组的第一个元素作为域名前缀[^1]。 ### Vue3 在 Vue3 中,可以通过浏览器原生的 `window.location` 对象来获取当前域名,有以下两种方法: #### 方法 1:直接使用 `window.location.hostname` ```vue <template> <!-- 模板内容 --> </template> <script> import { onMounted } from 'vue'; export default { setup() { // 获取完整域名(不含端口) const domain = window.location.hostname; // 如果需要协议+域名(如 https://example.com) const fullDomain = window.location.origin; onMounted(() => { console.log('当前域名:', domain); console.log('完整地址:', fullDomain); }); return { domain, fullDomain }; } } </script> ``` #### 方法 2:结合响应式数据(推荐) ```vue <template> <div>当前域名:{{ currentDomain }}</div> </template> <script> import { ref, onMounted } from 'vue'; export default { setup() { const currentDomain = ref(''); onMounted(() => { // 在 onMounted 确保代码在客户端执行 currentDomain.value = window.location.hostname; }); return { currentDomain }; } } </script> ``` 关键属性说明: - `hostname`:如 `example.com`,纯域名(无端口) - `host`:如 `example.com:8080`,域名 + 端口(若存在) - `origin`:如 `https://example.com`,协议 + 域名 + 端口(完整源) [^2] ### JavaScript 在 JavaScript 中,可使用 `location` 对象来获取域名和端口,以下是获取域名 + 端口的代码示例: ```javascript let baseUrl = location.protocol + '//' + location.hostname + (location.port ? ':' + location.port : '') + '/'; console.log(baseUrl); ``` 该代码通过 `location.protocol` 获取协议,`location.hostname` 获取域名,`location.port` 获取端口,最终拼接成完整的域名和端口地址 [^3]。 ### 其他通用方式 在普通的 JavaScript 环境中,还可以使用 `window.location.host`、`document.domain`、`window.location.href` 来获取当前页面的相关信息,但它们获取的内容有所不同,需要根据具体需求选择使用 [^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值