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.']);
}
?>