Код IT Загрузка примера кода…

PHP main.php
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    if (!isset($_FILES['uploaded_file'])) {
        die('Файл не был отправлен.');
    }

    $file = $_FILES['uploaded_file'];
    $uploadDir = __DIR__ . '/uploads/';
    $maxSize = 5 * 1024 * 1024; // 5 МБ
    $allowedTypes = ['image/jpeg', 'image/png', 'application/pdf', 'application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'];

    // Проверка ошибок
    if ($file['error'] !== UPLOAD_ERR_OK) {
        die('Ошибка при загрузке файла.');
    }

    // Проверка размера
    if ($file['size'] > $maxSize) {
        die('Файл слишком большой (макс. 5 МБ).');
    }

    // Проверка типа
    $finfo = finfo_open(FILEINFO_MIME_TYPE);
    $mimeType = finfo_file($finfo, $file['tmp_name']);
    finfo_close($finfo);

    if (!in_array($mimeType, $allowedTypes)) {
        die('Недопустимый тип файла.');
    }

    // Генерация безопасного имени
    $extension = pathinfo($file['name'], PATHINFO_EXTENSION);
    $safeName = bin2hex(random_bytes(16)) . '.' . strtolower($extension);
    $targetPath = $uploadDir . $safeName;

    // Создание директории, если её нет
    if (!is_dir($uploadDir)) {
        mkdir($uploadDir, 0755, true);
    }

    // Перемещение файла
    if (move_uploaded_file($file['tmp_name'], $targetPath)) {
        echo "Файл успешно загружен! <br>Путь: " . htmlspecialchars($targetPath);
    } else {
        die('Не удалось сохранить файл.');
    }
}
?>
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    if (!isset($_FILES['uploaded_file'])) {
        die('Файл не был отправлен.');
    }

    $file = $_FILES['uploaded_file'];
    $uploadDir = __DIR__ . '/uploads/';
    $maxSize = 5 * 1024 * 1024; // 5 МБ
    $allowedTypes = ['image/jpeg', 'image/png', 'application/pdf', 'application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'];

    // Проверка ошибок
    if ($file['error'] !== UPLOAD_ERR_OK) {
        die('Ошибка при загрузке файла.');
    }

    // Проверка размера
    if ($file['size'] > $maxSize) {
        die('Файл слишком большой (макс. 5 МБ).');
    }

    // Проверка типа
    $finfo = finfo_open(FILEINFO_MIME_TYPE);
    $mimeType = finfo_file($finfo, $file['tmp_name']);
    finfo_close($finfo);

    if (!in_array($mimeType, $allowedTypes)) {
        die('Недопустимый тип файла.');
    }

    // Генерация безопасного имени
    $extension = pathinfo($file['name'], PATHINFO_EXTENSION);
    $safeName = bin2hex(random_bytes(16)) . '.' . strtolower($extension);
    $targetPath = $uploadDir . $safeName;

    // Создание директории, если её нет
    if (!is_dir($uploadDir)) {
        mkdir($uploadDir, 0755, true);
    }

    // Перемещение файла
    if (move_uploaded_file($file['tmp_name'], $targetPath)) {
        echo "Файл успешно загружен! <br>Путь: " . htmlspecialchars($targetPath);
    } else {
        die('Не удалось сохранить файл.');
    }
}
?>