IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Problème d'upload d'images


Sujet :

Langage PHP

  1. #1
    Membre actif Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Points : 225
    Points
    225
    Par défaut Problème d'upload d'images
    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,

  2. #2
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134

  3. #3
    Membre actif Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Points : 225
    Points
    225
    Par défaut
    Ah intéressant merci beaucoup,

    en revanche, je n'ai pas vu comment renommé le fichier uploadé ?

    Regards,

  4. #4
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    http://antoine-herault.developpez.co...upload/#L3.2.2
    Ensuite il suffit de nommer $fichier comme tu le souhaites...

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Le changement de nom se fait pendant le move_uploaded_file()

  6. #6
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    Oui mais dans ce cas précis c'est $fichier qu'il faut régler

  7. #7
    Membre actif Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Points : 225
    Points
    225
    Par défaut
    Merci de votre aide, tout fonctionne

    Regards,

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/07/2008, 20h12
  2. Problème d'upload d'image
    Par kokusho dans le forum Langage
    Réponses: 2
    Dernier message: 27/04/2008, 14h39
  3. Problème d'upload d'image
    Par Underschooler dans le forum Langage
    Réponses: 1
    Dernier message: 26/03/2008, 17h38
  4. [Upload] problème d'upload d'image
    Par visqueu dans le forum Langage
    Réponses: 4
    Dernier message: 28/03/2007, 23h11
  5. Réponses: 4
    Dernier message: 09/12/2005, 22h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo