14 Upload Fichier
14 Upload Fichier
md 2025-05-12
Upload de fichier
Objectifs
Permettre à un utilisateur d'envoyer (upload) un ou plusieurs fichiers sur votre site/application web.
Ex:
modifier son photo de profil
ajouter des photos à un produit
publier une vidéo
etc..
Etapes
. Créer le formulaire d'envoi, avec un nouveau type de champ
. Recevoir le fichier , et faire les traitements nécéssaires
vérification de la taille
vérification des types de fichier (si besoin)
renommer les fichiers (si besoin)
. Déplacer le fichier dans le bon répértoire
1/3
14-upload-fichier.md 2025-05-12
Code
Version 1
Créer le formulaire "index.php"
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Upload de fichier</title>
</head>
<body>
<h2>Uploader un fichier</h2>
<form action="upload.php" method="post" enctype="multipart/form-data">
<label for="fichier">Choisir un fichier :</label>
<input type="file" name="fichier" id="fichier" required>
<br><br>
<input type="submit" value="Uploader">
</form>
</body>
</html>
<?php
$uploadDir = __DIR__ . '/uploads/';
$maxSize = 2 * 1024 * 1024; // 2 Mo
$allowedMimeTypes = ['image/jpeg', 'image/png', 'application/pdf'];
// Vérifie la taille
if ($file['size'] > $maxSize) {
die('Le fichier est trop volumineux.');
2/3
14-upload-fichier.md 2025-05-12
if (!in_array($mime, $allowedMimeTypes)) {
die('Type de fichier non autorisé : ' . $mime);
}
// renommer le fichier
$originalName = pathinfo($file['name'], PATHINFO_FILENAME);
$extension = pathinfo($file['name'], PATHINFO_EXTENSION);
// Déplace le fichier
if (move_uploaded_file($file['tmp_name'], $uploadDir . newName)) {
echo "Fichier uploadé avec succès : ". $newName;
} else {
echo "Échec du déplacement du fichier.";
}
} else {
echo "Aucun fichier reçu.";
}
?>
La fonction uniqid() génère une valeur unique, préfixé, basé sur la date et heure courante.
Avant de tester, créer le répértoire "uploads"
3/3