<?php
// 确保没有任何输出
ob_start();

// 关闭错误显示，避免错误信息破坏图片
error_reporting(0);
ini_set('display_errors', 0);

session_start();
define('ROOT_PATH', dirname(__FILE__));
require dirname(__DIR__) . '/includes/ValidateCode.class.php';

// 清空可能的输出
ob_clean();

// 尝试生成验证码
try {
    // 创建验证码对象
    $_vc = new ValidateCode();
    
    // 先创建验证码，这样getCode()就能获取到值
    $_vc->createBg();
    $_vc->createCode();
    $_vc->createLine();
    $_vc->createFont();
    
    // 保存验证码到session
    $_SESSION['vc_code'] = strtolower($_vc->getCode());
    
    // 清空可能的输出
    ob_clean();
    
    // 设置内容类型
    header('Content-type:image/png');
    
    // 输出图片
    imagepng($_vc->img);
    
    // 销毁图片资源
    imagedestroy($_vc->img);
} catch (Exception $e) {
    // 如果出错，输出错误信息
    header('Content-type:text/html;charset=utf-8');
    echo '验证码生成失败: ' . $e->getMessage();
}

// 确保所有输出都被发送
ob_end_flush();
exit;
?>