Salut,

j'ai trouvé ce code pour l'upload d'images :

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?php 
 
 
$target     = 'prof/';  // Repertoire cible 
$extension  = 'png'; // Extension du fichier sans le . 
$max_size   = 100000;     // Taille max en octets du fichier 
$width_max  = 500;        // Largeur max de l'image en pixels 
$height_max = 500;        // Hauteur max de l'image en pixels 
 
//--------------------------------------------- 
//  DEFINITION DES VARIABLES LIEES AU FICHIER 
//--------------------------------------------- 
 
$nom_file   = $_FILES['fichier']['name']; 
$taille     = $_FILES['fichier']['size']; 
$tmp        = $_FILES['fichier']['tmp_name']; 
 
//---------------------- 
//  SCRIPT D'UPLOAD 
//---------------------- 
?> 
<html> 
    <head> 
        <title>Upload d'une image sur le serveur !</title> 
    </head> 
    <body> 
<?php 
if(!empty($_POST['posted'])) { 
    // On vérifie si le champ est rempli 
    if(!empty($_FILES['fichier']['name'])) { 
        // On vérifie l'extension du fichier 
        if(substr($nom_file, -3) == $extension) { 
            // On récupère les dimensions du fichier 
            $infos_img = getimagesize($_FILES['fichier']['tmp_name']); 
 
            // On vérifie les dimensions et taille de l'image 
            if(($infos_img[0] <= $width_max) && ($infos_img[1] <= $height_max) && ($_FILES['fichier']['size'] <= $max_size)) { 
                // Si c'est OK, on teste l'upload 
                if(move_uploaded_file($_FILES['fichier']['tmp_name'],$target.$_FILES['fichier']['name'])) { 
                    // Si upload OK alors on affiche le message de réussite 
                    echo '<b>Image uploadée avec succès !</b>'; 
                    echo '<hr />'; 
                    echo '<b>Fichier :</b> ', $_FILES['fichier']['name'], '<br />'; 
                    echo '<b>Taille :</b> ', $_FILES['fichier']['size'], ' Octets<br />'; 
                    echo '<b>Largeur :</b> ', $infos_img[0], ' px<br />'; 
                    echo '<b>Hauteur :</b> ', $infos_img[1], ' px<br />'; 
                    echo '<hr />'; 
                    echo '<br /><br />'; 
                } else { 
                    // Sinon on affiche une erreur système 
                    echo '<b>Problème lors de l\'upload !</b><br /><br /><b>', $_FILES['fichier']['error'], '</b><br /><br />'; 
                } 
            } else { 
                // Sinon on affiche une erreur pour les dimensions et taille de l'image 
                echo '<b>Problème dans les dimensions ou taille de l\'image !</b><br /><br />'; 
            } 
        } else { 
            // Sinon on affiche une erreur pour l'extension 
            echo '<b>Votre image ne comporte pas l\'extension .jpg !</b><br /><br />'; 
        } 
    } else { 
        // Sinon on affiche une erreur pour le champ vide 
        echo '<b>Le champ du formulaire est vide !</b><br /><br />'; 
    } 
} 
?>        <form enctype="multipart/form-data" action="<?php echo $PHP_SELF; ?>" method="POST"> 
            <b>Envoyer le fichier :</b><br /><br /> 
            <input type="hidden" name="posted" value="1" /> 
            <input name="fichier" type="file" /> 
            <input type="submit" value="Uploader" /> 
        </form> 
    </body> 
</html>
Tel quel, le code fonctionne, mais je voudrais faire en sorte qu'il accepte également les images avec extensions : jpg, jpeg, gif.
J'ai essayé avec un array, mais le script n'accepte plus rien.

Aussi, je sais que l'upload est quelque de chose de anti-sécurité, c'est pourquoi si vous pensez que ce script n'est pas sécurisé, merci de m'aider à le rendre.

EDIT : Egalement, dernière chose je voudrais renommer l'image uploadé. Comment faire ?

Merci d'avance,

Regards,