Vérification du mime-type, de l'extension et de la taille
Résolu/Fermé
max30_3775
Messages postés
178
Date d'inscription
jeudi 4 novembre 2021
Statut
Membre
Dernière intervention
18 mars 2022
-
Modifié le 19 janv. 2022 à 07:23
max30_3775 Messages postés 178 Date d'inscription jeudi 4 novembre 2021 Statut Membre Dernière intervention 18 mars 2022 - 19 janv. 2022 à 12:41
max30_3775 Messages postés 178 Date d'inscription jeudi 4 novembre 2021 Statut Membre Dernière intervention 18 mars 2022 - 19 janv. 2022 à 12:41
A voir également:
- Vérification du mime-type, de l'extension et de la taille
- Comment réduire la taille d'un fichier - Guide
- Extension dat - Guide
- Changer extension fichier - Guide
- Extension .bin - Guide
- Comment reduire la taille d'une photo - Guide
6 réponses
yg_be
Messages postés
23405
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 décembre 2024
Ambassadeur
1 557
19 janv. 2022 à 07:51
19 janv. 2022 à 07:51
bonjour,
$photo_taille = $file['size'];
jordane45
Messages postés
38347
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 décembre 2024
4 719
Modifié le 19 janv. 2022 à 11:48
Modifié le 19 janv. 2022 à 11:48
Bonjour,
function savePhoto($id_annonce,$file,$location){ if(empty($file)){ echo "<br> ERREUR : Aucune image n'est envoyées pour l'upload"; return false; //pas d'image } //taille $taille_maxi= 100000; // A noter qu'il y a aussi un paramétrage dans le php.ini pour limiter la taille max des fichiers qu'on peut uploader! $photo_taille = $file['size']; $photo = $file['name']; $photo_tmp = $file['tmp_name']; if (is_uploaded_file($photo_tmp)) { // Notice how to grab MIME type. $mime_type = mime_content_type($photo_tmp); //mime-type $allowedMimes = array( 'image/png', 'image/jpeg', 'image/jpeg', 'image/jpeg', 'image/gif' ); if(!in_array($mime_type,$allowedMimes){ echo "Type de fichier " . $mime_type . " invalide !"; return false; } //pour les tests: echo "<br>photo_taille : " . $photo_taille; echo "<br>taille_maxi : " . $taille_maxi; if ($photo_taille > $taille_maxi){ echo 'Le fichier est trop gros...'; return false; } if(move_uploaded_file($photo_tmp,$location.$photo)){ return insertPhoto($id_annonce,$location.$photo); } }else{ echo "<br>Erreur lors de l'upload du fichier !"; return false; } }
jordane45
Messages postés
38347
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 décembre 2024
4 719
19 janv. 2022 à 11:49
19 janv. 2022 à 11:49
J'ai édité le code pour corriger un souci au niveau du mime_types.
max30_3775
Messages postés
178
Date d'inscription
jeudi 4 novembre 2021
Statut
Membre
Dernière intervention
18 mars 2022
19 janv. 2022 à 08:18
19 janv. 2022 à 08:18
Bonjour yg_be, merci pour ta réponse :)
Je n'ai pas d'erreur. J'ai dû changer l'unité Mo de la variable $taille_maxi, et laissé celle sans unité.
Question: C'est combien 100000? Est-ce 10 Mo ou 1 Mo?
Je n'ai pas d'erreur. J'ai dû changer l'unité Mo de la variable $taille_maxi, et laissé celle sans unité.
Question: C'est combien 100000? Est-ce 10 Mo ou 1 Mo?
function savePhoto($id_annonce,$file,$location){ if(empty($file)){ echo "<br> ERREUR : Aucune image n'est envoyées pour l'upload"; var_dump($_FILES); return false; //pas d'image } $error=''; //mime-type $mime_types = array('png' => 'image/png', 'jpe' => 'image/jpeg', 'jpeg' => 'image/jpeg', 'jpg' => 'image/jpeg', 'gif' => 'image/gif'); //taille $taille_maxi= 100000; $photo_taille = $file['size']; $photo = $file['name']; $photo_tmp = $file['tmp_name']; if(isset($mime_types)){ if ($photo_taille>$taille_maxi) {$error = 'Le fichier est trop gros...';} if(move_uploaded_file($photo_tmp,$location.$photo)){ return insertPhoto($id_annonce,$location.$photo); } else{ $error = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg...'; } }
yg_be
Messages postés
23405
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 décembre 2024
1 557
19 janv. 2022 à 08:35
19 janv. 2022 à 08:35
l'unité de taille est l'octet.
pour un fichier, une taille de 100000 octets, cela fait environ 98 Ko.
pour un fichier, une taille de 100000 octets, cela fait environ 98 Ko.
max30_3775
Messages postés
178
Date d'inscription
jeudi 4 novembre 2021
Statut
Membre
Dernière intervention
18 mars 2022
19 janv. 2022 à 09:14
19 janv. 2022 à 09:14
Mais pourquoi lorsque j'ai ajouté une image à 1 294 160 octets ça n'affiche pas que le fichier est trop gros?
yg_be
Messages postés
23405
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 décembre 2024
1 557
19 janv. 2022 à 09:48
19 janv. 2022 à 09:48
ajoute peut-être un echo().
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
max30_3775
Messages postés
178
Date d'inscription
jeudi 4 novembre 2021
Statut
Membre
Dernière intervention
18 mars 2022
19 janv. 2022 à 10:01
19 janv. 2022 à 10:01
J'ai ajouté un echo et ça n'a pas affiché l'erreur:
function savePhoto($id_annonce,$file,$location){ if(empty($file)){ echo "<br> ERREUR : Aucune image n'est envoyées pour l'upload"; var_dump($_FILES); // juste pour le debug... return false; //pas d'image } //mime-type $mime_types = array('png' => 'image/png', 'jpe' => 'image/jpeg', 'jpeg' => 'image/jpeg', 'jpg' => 'image/jpeg', 'gif' => 'image/gif'); //taille $taille_maxi= 100000; $photo_taille = $file['size']; $photo = $file['name']; $photo_tmp = $file['tmp_name']; if(isset($mime_types)){ if ($photo_taille>$taille_maxi) {echo 'Le fichier est trop gros...';} if(move_uploaded_file($photo_tmp,$location.$photo)){ return insertPhoto($id_annonce,$location.$photo); } } else{ echo 'Vous devez uploader un fichier de type png, gif, jpg, jpeg...'; } }
yg_be
Messages postés
23405
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 décembre 2024
1 557
19 janv. 2022 à 11:26
19 janv. 2022 à 11:26
peut-être ajouter des éléments utiles, comme $photo_taille, dans l'echo. et, pourquoi pas, dans la foulée, faire un var-dump de $file?
max30_3775
Messages postés
178
Date d'inscription
jeudi 4 novembre 2021
Statut
Membre
Dernière intervention
18 mars 2022
19 janv. 2022 à 12:41
19 janv. 2022 à 12:41
Bonjour Jordane, ça marche parfaitement. Si la taille de l'image est supérieure à, l'annonce n'affiche pas d'image. Merci !