File "upload.php"

Full Path: /home/analogde/www/Manuel/2024_PHP_06_10_2024/upload.php
File size: 1.63 KB
MIME-type: text/x-php
Charset: utf-8

<?php
// Définir le répertoire de destination où les fichiers seront stockés
$targetDir = "uploads/";

// Vérifier si le dossier de destination existe, sinon, le créer
if (!is_dir($targetDir)) {
    mkdir($targetDir, 0777, true);
}

// Vérifier s'il y a des fichiers envoyés via POST
if (!empty($_FILES['file'])) {
    $file = $_FILES['file'];

    // Récupérer le nom du fichier original
    $fileName = basename($file['name']);
    // Définir le chemin de destination
    $targetFilePath = $targetDir . $fileName;

    // Vérifier s'il n'y a pas d'erreurs pendant l'upload
    if ($file['error'] === UPLOAD_ERR_OK) {
        // Vérifier la taille du fichier (par exemple, 10 Mo maximum)
        $maxFileSize = 10 * 1024 * 1024; // 10 Mo
        if ($file['size'] > $maxFileSize) {
            echo json_encode(['status' => 'error', 'message' => 'Le fichier est trop volumineux.']);
            exit;
        }

        // Vous pouvez également ajouter d'autres vérifications, comme le type MIME du fichier

        // Déplacer le fichier temporaire vers le répertoire de destination
        if (move_uploaded_file($file['tmp_name'], $targetFilePath)) {
            echo json_encode(['status' => 'success', 'message' => 'Fichier téléchargé avec succès.']);
        } else {
            echo json_encode(['status' => 'error', 'message' => 'Erreur lors du téléchargement du fichier.']);
        }
    } else {
        echo json_encode(['status' => 'error', 'message' => 'Erreur lors de l\'upload.']);
    }
} else {
    echo json_encode(['status' => 'error', 'message' => 'Aucun fichier reçu.']);
}
?>