<?php
header('Content-Type: application/json; charset=utf-8');
header("Access-Control-Allow-Origin: *");

$target_dir = "uploads/";

// Tự động tạo thư mục nếu chưa có
if (!file_exists($target_dir)) {
    mkdir($target_dir, 0777, true);
}

if (isset($_FILES['file']) && $_FILES['file']['name']) {
    $filename = $_FILES['file']['name'];
    // Tạo tên file an toàn với thời gian
    $extension = pathinfo($filename, PATHINFO_EXTENSION);
    $new_filename = time() . '_' . rand(100,999) . '.' . $extension;
    $target_file = $target_dir . $new_filename;

    // Danh sách đuôi file cho phép
    $allowed = array("pdf", "doc", "docx", "xls", "xlsx", "ppt", "pptx", "jpg", "png", "jpeg", "txt", "zip", "rar", "7z");
    if(!in_array(strtolower($extension), $allowed)) {
        echo json_encode(["status" => "error", "message" => "Định dạng file không hợp lệ."]);
        exit;
    }

    if (move_uploaded_file($_FILES["file"]["tmp_name"], $target_file)) {
        $protocol = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on') ? "https" : "http";
        $domain = $protocol . "://" . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']);
        $domain = rtrim($domain, '/');
        $full_url = $domain . '/' . $target_dir . $new_filename;
        echo json_encode(["status" => "success", "url" => $full_url]);
    } else {
        echo json_encode(["status" => "error", "message" => "Lỗi ghi file (Check CHMOD 777)."]);
    }
} else {
    echo json_encode(["status" => "error", "message" => "Không có dữ liệu file."]);
}
?>