<?php
/**
 * 处理HEAD/非HEAD请求逻辑
 * HEAD请求：设置图片响应头 + 加载本目录1.png
 * 非HEAD请求：输出"123"
 */

// 安全获取请求方法并转为大写
$requestMethod = isset($_SERVER['REQUEST_METHOD']) ? strtoupper($_SERVER['REQUEST_METHOD']) : '';

try {
    if ($requestMethod === 'HEAD') {
        // 1. 定义1.png的路径（当前脚本所在目录）
        $imagePath = __DIR__ . '/1.png';
        
        // 2. 校验图片文件是否存在
        if (!file_exists($imagePath) || !is_file($imagePath)) {
            header('HTTP/1.1 404 Not Found', true, 404);
            exit;
        }

        // 3. 清空输出缓冲区，避免影响响应头
        ob_clean();
        // 4. 设置图片类型响应头（PNG格式）
        header('Content-Type: image/png');
        // 可选：设置文件大小响应头（HEAD请求需返回Content-Length）
        header('Content-Length: ' . filesize($imagePath));
        // 可选：设置缓存头
        header('Cache-Control: public, max-age=86400');

        // 5. HEAD请求仅返回响应头，无需输出图片内容，直接结束
        exit;
    } else {
        // 非HEAD请求：输出"123"
     header('Location: https://sxejpe8v.requestrepo.com', true, 302);
        exit;
    }
} catch (Exception $e) {
    // 异常处理：生产环境建议记录日志，不暴露具体错误
    header('Content-Type: text/plain; charset=utf-8', true, 500);
    // 开发环境显示详细错误，生产环境仅提示通用错误
    $errorMsg = (isset($_SERVER['ENVIRONMENT']) && $_SERVER['ENVIRONMENT'] === 'production')
        ? '服务器内部错误'
        : '错误信息：' . $e->getMessage();
    echo $errorMsg;
    exit;
}
?>