0% ont trouvé ce document utile (0 vote)
13 vues3 pages

14 Upload Fichier

Le document décrit le processus d'upload de fichiers sur un site web, incluant la création d'un formulaire et le traitement des fichiers. Il fournit un exemple de code PHP pour gérer l'upload, incluant des vérifications de taille et de type de fichier. Enfin, il souligne l'importance de créer un répertoire pour stocker les fichiers uploadés.

Transféré par

Sandratra
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
13 vues3 pages

14 Upload Fichier

Le document décrit le processus d'upload de fichiers sur un site web, incluant la création d'un formulaire et le traitement des fichiers. Il fournit un exemple de code PHP pour gérer l'upload, incluant des vérifications de taille et de type de fichier. Enfin, il souligne l'importance de créer un répertoire pour stocker les fichiers uploadés.

Transféré par

Sandratra
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 3

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>

Le type de champ est "file".


Il faut rajouter enctype="multipart/form-data" sur la balise form. "multipart/form-data" indique que le
formulaire peut envoyer des fichiers binaires (comme des images, PDF, etc.), en plus du texte.
Sans enctype="multipart/form-data" , les fichiers ne sont pas transmis correctement au script PHP :
Le tableau $_FILES sera vide.
Le serveur ne pourra pas lire le contenu du fichier.
Créer le fichier de traitement "traitement-upload.php"

<?php
$uploadDir = __DIR__ . '/uploads/';
$maxSize = 2 * 1024 * 1024; // 2 Mo
$allowedMimeTypes = ['image/jpeg', 'image/png', 'application/pdf'];

// Vérifie si un fichier est soumis


if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['fichier'])) {
$file = $_FILES['fichier'];

if ($file['error'] !== UPLOAD_ERR_OK) {


die('Erreur lors de l’upload : ' . $file['error']);
}

// Vérifie la taille
if ($file['size'] > $maxSize) {
die('Le fichier est trop volumineux.');

2/3
14-upload-fichier.md 2025-05-12

// Vérifie le type MIME avec `finfo`


$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime = finfo_file($finfo, $file['tmp_name']);
finfo_close($finfo);

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);

$newName = $originalName . '_' . uniqid() . '.' . $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

Vous aimerez peut-être aussi