Faire des vérifications pour un upload de photo
Bonjour,
voila je fais actuellement une page d'uploads de photos.
Le problème c'est qu'aucune des vérifications ne fonctionnes ! :roll:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| <?php
if(!empty($_POST)){
// Constantes
$maxsize = "100000"; // Taille max en octets du fichier
$maxwidth = "500"; // Largeur max de l'image en pixels
$maxheight = "500"; // Hauteur max de l'image en pixels
if ($_FILES['icone']['error'] > 0) $erreur = "Erreur lors du transfert";
if ($_FILES['icone']['size'] > $maxsize) $erreur = "Le fichier est trop gros";
$extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png' );
//1. strrchr renvoie l'extension avec le point (« . »).
//2. substr(chaine,1) ignore le premier caractère de chaine.
//3. strtolower met l'extension en minuscules.
$extension_upload = strtolower( substr( strrchr($_FILES['icone']['name'], '.') ,1) );
if ( in_array($extension_upload,$extensions_valides) ) echo "Extension correcte";
$image_sizes = getimagesize($_FILES['icone']['tmp_name']);
if ($image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight) $erreur = "Image trop grande";
//Créer un identifiant difficile à deviner
$nomcrypt = md5(uniqid(rand(), true));
$nom = "uploads/{$nomcrypt}.{$extension_upload}";
$resultat = move_uploaded_file($_FILES['icone']['tmp_name'],$nom);
if ($resultat) echo "Transfert réussi";
}
?>
<?php require 'inc/header.php'; ?>
<form method="post" action="" enctype="multipart/form-data">
<label for="icone">Photo :</label><br />
<input type="file" name="icone" id="icone" /><br />
<input type="submit" name="submit" value="Envoyer" />
</form> |
note : je n'ai aucun message d'erreur! les deux seuls messages que j'ai : Extension correcteTransfert réussi