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 :

Upload de fichier : extention


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 299
    Points : 63
    Points
    63
    Par défaut Upload de fichier : extention
    Salut, j'arrive pas à upload de fichier, il dit qu'il veut pas l'extension pourtant je l'ai ajouté à ma liste...
    Code php : 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
    /*if(!isset($_SESSION['user'])){
        header('Location: mp.php');
    }*/
    function verifichier($type_file,$array){
        $bad=0;
        for($i=count($array);$i>0;$i--){
            if(!strstr($type_file, $array[$i])){
                $bad=1;
            }
        }
        if($bad==1){
            $fichiers='';
            for($i=count($array);$i>0;$i--){
                $fichiers=$fichiers.', <span style="color:blue;">.'.$array[$i].'</span>';
            }
            die("Fichier posté : ".$type_file.". Fichiers autorisés : ".$fichiers);
        }
    }
    if( isset($_POST['upload']) ) // si formulaire soumis
    {
        $content_dir = 'upload/'; // dossier où sera déplacé le fichier
     
        $tmp_file = $_FILES['fichier']['tmp_name'];
     
        if( !is_uploaded_file($tmp_file) )
        {
            die("Le fichier est introuvable");
        }
     
        // on vérifie maintenant l'extension
        $type_file = $_FILES['fichier']['type'];
     
        $array = array('zip','rar','txt','jpg','jpeg','png','tiff','gif','bmp','psd','doc','docx','pdf','avi','mov','odp','ods','odt','ppt');
        verifichier($type_file,$array);
     
        // on copie le fichier dans le dossier de destination
        $name_file = $_FILES['fichier']['name'];
     
        if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
        {
            die("Impossible de copier le fichier dans $content_dir");
        }
     
        echo "Le fichier a bien été uploadé";
        include 'base.php';
        $envoiemsg = $pdo->prepare('INSERT INTO x (date, auteur, destinataire, nom) VALUES(' . time() . ', :auteur, :desti, :nom)');
                    $envoiemsg->execute(array(
                        ':auteur' => $_SESSION['user'],
                        ':desti' => $_POST['desti'],
                        ':nom' => $name_file,
                        ));
    }
    Résultat : "Fichier posté : image/jpeg. Fichiers autorisés : , ., .ppt, .odt, .ods, .odp, .mov, .avi, .pdf, .docx, .doc, .psd, .bmp, .gif, .tiff, .png, .jpeg, .jpg, .txt, .rar"
    Et ça donne la même chose en essayant avec "image/jpeg"...
    Aidez moi s'il vous plait :/

  2. #2
    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
    Tu vois bien que $type_file n'est pas l'extension du fichier non ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 299
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Tu vois bien que $type_file n'est pas l'extension du fichier non ?
    Non j'ai pas trop compris :/ j'ai fait autrement en virant le "/" avec str_replace :p

    EDIT : j'ai plutôt fait donc :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $allowed = array('.zip','.rar');// mes extensions...
    $name_file = $_FILES['fichier']['name'];
    $extension = strrchr($name_file, '.');
    if(in_array($tranz[1],$allowed){//...
    }

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

Discussions similaires

  1. [FTP] Problème pour uploader un fichier
    Par Crazyblinkgirl dans le forum Entrée/Sortie
    Réponses: 10
    Dernier message: 07/01/2008, 23h21
  2. Upload de fichier par XMLHTTP
    Par Immobilis dans le forum ASP
    Réponses: 6
    Dernier message: 21/01/2005, 18h02
  3. upload de fichier
    Par 120 dans le forum ASP
    Réponses: 16
    Dernier message: 21/06/2004, 13h07
  4. Upload de fichiers sur un ftp
    Par Crazyblinkgirl dans le forum ASP
    Réponses: 10
    Dernier message: 20/06/2004, 12h55
  5. Upload de fichiers
    Par GDVL dans le forum ASP
    Réponses: 4
    Dernier message: 03/06/2004, 13h44

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