返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >详解PHP获取域名的各种方法
  • 356
分享到

详解PHP获取域名的各种方法

phpandroid开发语言 2023-08-31 05:08:33 356人浏览 独家记忆
摘要

        在web开发中,获取域名相关信息,是一项必备的能力。而PHP天生地具有解析URI的能力,所以php获取域名也变得非常简单。在这里整理了一些,PHP获取域名的方法和技巧。         代码示例 一、PHP获取域名地址

        在web开发中,获取域名相关信息,是一项必备的能力。而PHP天生地具有解析URI的能力,所以php获取域名也变得非常简单。在这里整理了一些,PHP获取域名的方法和技巧。

        代码示例

一、PHP获取域名地址

    $host = $_SERVER['Http_HOST'];    echo "当前域名为:" . $host;

上述代码中,$_SERVER['HTTP_HOST'] 是PHP内置的全局变量之一,表示当前页面的域名地址。通过输出该变量的值,我们就可以获取当前域名。

除了获取当前域名,有时候我们还需要获取URL中的其它信息,比如请求协议(HTTP/https)、端口号等。下面是一个获取当前URL的完整代码示例:

    $url  = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http";    $url .= "://" . $_SERVER['HTTP_HOST'];    $url .= $_SERVER['REQUEST_URI'];    echo "当前URL为:" . $url;

        上述代码通过判断 $_SERVER['HTTPS'] 是否为 on 来获取当前协议,再通过 $_SERVER['HTTP_HOST'] 获取当前域名,最后通过 $_SERVER['REQUEST_URI'] 获取当前路径,最终拼接成完整的URL。

二、PHP获取文件名

        获取当前页面的文件名也是常见的任务,下面是一个获取文件名的完整代码示例:

    $filename = basename($_SERVER['PHP_SELF']);    echo "当前文件名为:" . $filename;

        上述代码中,basename() 函数返回路径中的最后一个部分,即文件名。

三、PHP获取域名IP

        获取当前域名对应的IP地址也是常见的任务,下面是一个获取IP地址的完整代码示例:

    $ip = gethostbyname($_SERVER['HTTP_HOST']);    echo "当前域名的IP地址为:" . $ip;

        上述代码中,gethostbyname() 函数根据域名获取对应的IP地址。

四、PHP获取域名前缀

        获取当前域名的前缀(即 www、blog、shop 等)也是常见的任务,下面是一个获取前缀的完整代码示例:

    $prefix = explode('.', $_SERVER['HTTP_HOST'])[0];    echo "当前域名的前缀为:" . $prefix;

        上述代码中,explode() 函数通过 . 将域名拆分成数组,然后取下标为 0 的值,即可获取域名的前缀。

五、PHP获取字段名

        在一些特殊场景中,可能需要获取当前URL中某个字段的值,下面是一个获取指定字段的完整代码示例:

    $field_name = 'id';    parse_str($_SERVER['QUERY_STRING'], $query_vars);    echo "当前URL中字段 $field_name 的值为:" . $query_vars[$field_name];

        上述代码通过 parse_str() 函数将当前URL中的查询参数解析成一个数组,然后取指定字段的值即可。

六、PHP获取域名实例

        在一些情况下,可能需要获取一个完整的、包含协议和域名的URL,下面是一个获取实例的完整代码示例:

    $url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") ."://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];    echo "当前域名实例为:" . $url;

        上述代码中,将获取域名地址和获取URL的代码组合起来,即可获取完整的域名实例。

七、PHP获取域名的状态

有时候我们需要判断一个域名的状态是否可用,下面是一个获取域名状态的完整代码示例:

    $url = 'http://www.example.com';    $headers = @get_headers($url);    if ($headers) {        $status_code = substr($headers[0], 9, 3);        echo "当前域名状态为:" . $status_code;    } else {        echo "当前域名不可用";    }

        上述代码通过 get_headers() 函数获取指定域名的响应头信息,从而获得当前域名的状态码。状态码是 HTTP 协议定义的一种标准,用于描述当前请求的处理结果。例如,200 表示成功,404 表示找不到页面,500 表示服务器错误等。通过判断状态码,我们就可以大致了解当前域名的状态。

八、PHP获取域名解析

        在一些场景下,我们需要获取一个域名所有的解析记录,下面是一个获取域名解析的完整代码示例:

    $domain = 'www.example.com';    $records = dns_get_record($domain, DNS_ALL);    echo "当前域名的解析记录为:";    foreach ($records as $record) {        echo "{$record['host']}  {$record['class']}  {$record['type']}  {$record['target']}";    }

        上述代码通过 dns_get_record() 函数获取指定域名的所有解析记录,然后遍历输出即可。

九、PHP获取域名whois

        whois(who is)是一种查询域名信息的协议,我们可以通过 whois 查询某个域名的注册信息、过期时间等。下面是一个获取域名whois的完整代码示例:

    $domain = 'example.com';    $whois_server = 'whois.crsnic.net';    $query_string = $domain."\r\n";    $fp = fsockopen($whois_server, 43);    if ($fp) {        fputs($fp, $query_string);        $response = '';        while (!feof($fp)) {            $response .= fgets($fp, 1024);        }        fclose($fp);        echo "当前域名的whois信息为:".nl2br(htmlspecialchars($response));    } else {        echo "连接whois服务器失败";    }

        上述代码中,首先定义了一个 whois 服务器地址,然后通过 fsockopen() 函数连接到该服务器,并发送查询指令。最后,将服务器返回的信息输出即可。

十、PHP获取域名解析记录

        如果我们只需要获取某个域名特定类型的解析记录,可以使用 DNS 类库,下面是一个获取A记录的完整代码示例:

    $domain = 'www.example.com';    $dns = dns_get_record($domain, DNS_A);    echo "当前域名的A记录为:";    foreach ($dns as $record) {        echo "{$record['host']}  {$record['class']}  {$record['type']}  {$record['ip']}";    }

        上述代码通过 DNS 类库指定要获取的记录类型(例如 A 记录)并获取所有对应的解析记录,然后遍历输出即可。

结语

        现在不同的框架,都有自己不同的简便方式,框架中,一般都会将你可能用到的,封装成函数,大家多找一找,会给你带来太多方便的。以上就是本文详解 PHP 获取域名的各种方法和技巧,希望能对你的工作有所帮助。

来源地址:https://blog.csdn.net/ITMyFavorite/article/details/131474880

--结束END--

本文标题: 详解PHP获取域名的各种方法

本文链接: https://lsjlt.com/news/383961.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 详解PHP获取域名的各种方法
            在Web开发中,获取域名相关信息,是一项必备的能力。而PHP天生地具有解析URI的能力,所以PHP获取域名也变得非常简单。在这里整理了一些,PHP获取域名的方法和技巧。         代码示例 一、PHP获取域名地址 ...
    99+
    2023-08-31
    php android 开发语言
  • 详解php获取数组值的多种方法
    在PHP中,数组是一种重要的数据类型,常常作为存储和处理数据的工具。一个数组通常包含多个元素,而每个元素都可以单独访问。而有时候,我们需要从数组中取出某个特定的值,以进行计算、比较、输出等操作。接下来,我们就来了解一下如何在PHP中取出数组...
    99+
    2023-05-14
  • java获取类名的方法详解
    如果我们要获取当前运行的类名,怎么来获取? 在Class类中,有如下一个方法: 比如现在有一个类Demo7.java package pxx.test1; public cla...
    99+
    2024-04-02
  • php获取文件扩展名的三种方法
    在php开发过程中,获取文件扩展名是非常常见的需求。比如我们在上传文件的时候,首先需要判断文件类型是否为我们允许上传的类型。这个时候就需要使用php来获取文件的后缀或者说扩展名。 本文中,我们介绍三种php获取文件扩展名的方法 方法一:使用...
    99+
    2023-09-28
    php 开发语言
  • php获取文件后缀名的几种方法
    获取文件后缀的方法有很多种, 差不多能总结出7,8种,原理基本上都分成两种。 第一种: 得到文件名中最后一个“.”的位置,然后再进行截取; 第二种: 用explode将文件名以“.”进行分割成数组,再取数组中最后一个值。 具体实现源码参考:...
    99+
    2023-09-20
    php 服务器 开发语言
  • golang获取域名的方法是什么
    在Golang中,可以使用net包来获取域名。具体的方法是使用net.LookupHost()函数,该函数接收一个参数,即所要查询的...
    99+
    2024-04-09
    golang
  • php获取url扩展名的几种方法是什么
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑php获取url扩展名的方法方法1:<php $url="http://localhost/user/order.php"; function...
    99+
    2014-10-06
    php url 扩展名
  • php获取文件扩展名的3种方法实例
    目录前言PHP pathinfo()获取文件扩展名PHP SplFileInfo获取文件后缀PHP substr()和strrchr()函数获取文件扩展名总结前言 在php...
    99+
    2023-01-15
    PHP获取文件扩展名的代码 php获取文件扩展名实验总结 php 获取文件扩展名
  • java中获取类名的几种方法
    Java 中获取类名的方式主要有以下三种。getName()返回的是虚拟机里面的class的类名表现形式。getCanonicalName()返回的是更容易理解的类名表示。getSimpleName()返回的是类的简称。通过一个实例来看下它...
    99+
    2015-06-03
    java入门 java 类名 方法 获取
  • Android获取本机各种类型文件的方法
    介绍本篇介绍Android获取本机各种类型文件的方法,已经封装成工具类,末尾有源码下载地址。提示获取音乐、视频、图片、文档等文件是需要有读取SD卡的权限的,如果是6.0以下的系统,则直接在清单文件中声明SD卡读取权限即可;如果是6.0或以上...
    99+
    2023-05-30
    android 获取文件 roi
  • javascript获取时间戳的5种方法详解
    js/javascript获取时间戳的5种方法 1.获取时间戳精确到秒,13位 const timestamp = Date.parse(new Date()); console.l...
    99+
    2023-03-19
    js获取时间戳 js时间戳
  • 浅析Spring获取Bean的九种方法详解
    目录前言Spring的IoC容器BeanFactory与ApplicationContext的区别通过BeanFactory获取通过BeanFactoryAware获取启动获取App...
    99+
    2023-01-28
    Spring获取Bean方法 Spring Bean获取方法
  • php怎么获取方法名称
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑php获取方法名称使用魔术常量__FUNCTION____FUNCTION__:当前函数(或方法)的名称;<php header("Content-ty...
    99+
    2017-07-18
    php 方法名
  • php如何获取方法名称
    这篇文章主要介绍了php如何获取方法名称的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php如何获取方法名称文章都会有所收获,下面我们一起来看看吧。获取方法:1、使用“__FUNCTION__”,可获取当前方法...
    99+
    2023-06-29
  • MySQL获取当前时间的各种方式
    1 获取当前完整时间 1.1 now()函数 select now(); 输出: 2023-02-15 10:46:17 1.2 sysdate()函数 select sysdate(); 输出: 2023-02-15 10...
    99+
    2023-08-31
    mysql 数据库 Powered by 金山文档
  • 详解SpringBoot静态方法获取bean的三种方式
    目录方式一 注解@PostConstruct方式二 启动类ApplicationContext方式三手动注入ApplicationContext方式一 ...
    99+
    2024-04-02
  • matlab调用python的各种方法详解
    matlab调用python的各种方法详解 文章目录 matlab调用python的各种方法详解1 调用自定义python函数例子 2 访问 Python 内置模块3 从 MATLAB ...
    99+
    2023-09-01
    python matlab 开发语言
  • php获取文件后缀扩展名三种方法分享
    本文中,我们介绍三种php获取文件扩展名的方法 方法一:使用PHP pathinfo()获取文件扩展名 方法二:使用PHP SplFileInfo类获取文件后缀 方法三:使用PHP substr()和strrchr()函数获取文件...
    99+
    2023-10-08
    php 开发语言
  • PHP实现获取url地址中顶级域名的方法示例
    做域名黑名单的时候我们需要得到顶级域名。下面总结几种PHP实现获取url地址中顶级域名的方法示例 ` 方法一: ...
    99+
    2023-09-01
    php 服务器 开发语言
  • php怎么获取类中方法名
    php获取类中方法名的两种方法:1、使用魔术常量“__FUNCTION__”,可以返回类中当前方法的名称。2、使用get_class_methods()函数,可以获取指定类中所有方法的名称,返回一个包含所有方法名的数组,语法“get_cla...
    99+
    2022-06-14
    php
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作