You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PHP显示当前网页域名的创建年份

修改后的PHP代码(仅输出当前域名创建年份)
<?php
// 获取当前网页的域名
$currentDomain = $_SERVER['HTTP_HOST'];

// 获取域名创建日期并提取年份
$createYear = getDomainCreationYear($currentDomain);

// 仅输出年份(如果获取成功)
if ($createYear) {
    echo $createYear;
} else {
    echo "无法获取域名创建年份";
}

function getDomainCreationYear($domain) {
    // 初始化curl请求
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "https://rdap.org/domain/{$domain}");
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    // 设置超时时间,避免请求挂起
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    
    $response = curl_exec($ch);
    
    // 检查curl请求是否成功
    if (curl_errno($ch)) {
        curl_close($ch);
        return false;
    }
    curl_close($ch);
    
    // 解析JSON数据
    $data = json_decode($response, true);
    if (!$data || !isset($data['events'])) {
        return false;
    }
    
    // 遍历events数组,找到"registration"类型的事件(对应域名注册日期)
    foreach ($data['events'] as $event) {
        if ($event['eventAction'] === 'registration') {
            $eventDate = $event['eventDate'];
            // 提取年份
            return date('Y', strtotime($eventDate));
        }
    }
    
    // 兼容部分域名的RDAP数据, fallback到第一个事件
    if (isset($data['events'][0]['eventDate'])) {
        $eventDate = $data['events'][0]['eventDate'];
        return date('Y', strtotime($eventDate));
    }
    
    return false;
}

关键修改说明

  • 获取当前域名:用$_SERVER['HTTP_HOST']直接获取当前访问的域名,无需手动指定固定URL,适配当前网页的域名。
  • 仅输出年份:通过date('Y', strtotime($eventDate))从RDAP返回的日期字符串中提取年份,满足仅输出年份的需求。
  • 提升可靠性:
    • 增加curl错误检查,避免请求失败导致的解析错误;
    • 优先查找registration类型的事件(RDAP标准中该类型对应域名注册日期),比原代码直接取第一个事件更准确;
    • 增加JSON解析失败的判断,避免数组索引报错。
  • 简化逻辑:原函数需要解析URL提取域名,现在直接传入$_SERVER['HTTP_HOST'],省去parse_url步骤,更高效。

内容的提问来源于stack exchange,提问作者Shamrox425

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 04:53:13