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 :

Vérification de fichiers uploadés


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Points : 55
    Points
    55
    Par défaut Vérification de fichiers uploadés
    Bonjour,

    J'au un formulaire comme ceci avec 2 fichiers à uploader:

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <form method="post" action="reception.php" enctype="multipart/form-data">
    <p>
    <input type="file" name="fichier1" size="30">
    <input type="file" name="fichier2" size="30">
    <input type="submit" name="upload" value="Uploader">
    </p>
    </form>

    Ensuite j'ai mon fichier reception.php qui vérifie et si c ok copie les fichieres dans le répertoire test_upload. Voici le code:

    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
     
    <?php
     
    if( isset($_POST['upload']) ) // si formulaire soumis
    {
        $content_dir = 'test_upload/'; // dossier où sera déplacé le fichier
     
        $tmp_file1 = $_FILES['fichier1']['tmp_name'];
     
        if( !is_uploaded_file($tmp_file1) )
        {
            exit("Le fichier est introuvable");
        }
     
        // on vérifie maintenant l'extension
        $type_file1 = $_FILES['fichier1']['type'];
     
        if( !strstr($type_file1, 'jpg') && !strstr($type_file1, 'jpeg') && !strstr($type_file1, 'bmp') && !strstr($type_file1, 'gif') )
        {
            exit("Le fichier n'est pas une image");
        }
     
        // on copie le fichier dans le dossier de destination
        $name_file1 = $_FILES['fichier1']['name'];
     
        if( !move_uploaded_file($tmp_file1, $content_dir . $name_file1) )
        {
            exit("Impossible de copier le fichier dans $content_dir");
        }
     
        echo "Le fichier a bien été uploadé";
    }
     
    ?>
    <?php
     
    if( isset($_POST['upload']) ) // si formulaire soumis
    {
        $content_dir = 'test_upload/'; // dossier où sera déplacé le fichier
     
        $tmp_file2 = $_FILES['fichier2']['tmp_name'];
     
        if( !is_uploaded_file($tmp_file2) )
        {
            exit("Le fichier est introuvable");
        }
     
        // on vérifie maintenant l'extension
        $type_file2 = $_FILES['fichier2']['type'];
     
        if( !strstr($type_file2, 'jpg') && !strstr($type_file2, 'jpeg') && !strstr($type_file2, 'bmp') && !strstr($type_file2, 'gif') )
        {
            exit("Le fichier n'est pas une image");
        }
     
        // on copie le fichier dans le dossier de destination
        $name_file2 = $_FILES['fichier2']['name'];
     
        if( !move_uploaded_file($tmp_file2, $content_dir . $name_file2) )
        {
            exit("Impossible de copier le fichier dans $content_dir");
        }
     
        echo "Le fichier a bien été uploadé";
    }
     
    ?>
    En fait, le transfert d'upload marche lorsque le fichier1 fichier 2 sont bien des images.
    Il arrive a transferer le fichier1 si fichier1 est une image et le 2 nen ést pas une

    Par contre,ds que le fichier1 n'est pas une image, l'upload loupe meme si le fichier2 est une image.

    Merci de votre aide

  2. #2
    Membre actif Avatar de frol
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 288
    Points : 296
    Points
    296
    Par défaut
    exit("Le fichier n'est pas une image");

    exit quitte ton appli php

  3. #3
    Membre éprouvé Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Points : 952
    Points
    952
    Par défaut
    Evidemment que cela ne fonctionne pas puisque tu fais un exit()

    Ensuite dans ton code tu fais deux fois la même chose. Pourquoi ???

    $_FILES est un tableau, utilise une boucle.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Points : 55
    Points
    55
    Par défaut
    Merci de vos réponses rapides.

    En fait je fais deux fois la meme chose pour traiter chaque fichier.
    Il est vrai qu'il serais plus intéressant de faire une boucle avec un tableau mais je ne sais pas trop comment y procéder.

    Merci de votre aide

  5. #5
    Membre actif Avatar de frol
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 288
    Points : 296
    Points
    296
    Par défaut
    il y a encore bien mieux qu'une boucle... une fonction

  6. #6
    Membre actif
    Homme Profil pro
    Responsable d'une MOE bancaire
    Inscrit en
    Juillet 2003
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Responsable d'une MOE bancaire

    Informations forums :
    Inscription : Juillet 2003
    Messages : 261
    Points : 226
    Points
    226
    Par défaut
    Citation Envoyé par pod1978
    Merci de vos réponses rapides.

    En fait je fais deux fois la meme chose pour traiter chaque fichier.
    Il est vrai qu'il serais plus intéressant de faire une boucle avec un tableau mais je ne sais pas trop comment y procéder.

    Merci de votre aide
    cherche un petit peu sur ce meme forum, ce sujet a été evoqué et le code proposé plusieurs fois

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Points : 55
    Points
    55
    Par défaut
    ok merci pour vos réponses

    je vais rechercher

Discussions similaires

  1. Vérification du nombre de fichier uploadé
    Par leclone dans le forum Langage
    Réponses: 7
    Dernier message: 06/06/2008, 08h38
  2. Fichier upload endommagé ?
    Par zefrit dans le forum Linux
    Réponses: 26
    Dernier message: 14/10/2005, 15h16
  3. Supprimer fichier uploader avec aspSmartUpload
    Par julio_097 dans le forum ASP
    Réponses: 2
    Dernier message: 11/08/2005, 16h27
  4. renommer un fichier uploadé
    Par Sowa dans le forum ASP
    Réponses: 2
    Dernier message: 07/02/2005, 09h23
  5. Réponses: 10
    Dernier message: 18/11/2003, 18h01

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