Bonjour,

voila je fais actuellement une page d'uploads de photos.

Le problème c'est qu'aucune des vérifications ne fonctionnes !

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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