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 :

Gestion des upload avec condition [PHP 5.0]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 185
    Points : 79
    Points
    79
    Par défaut Gestion des upload avec condition
    Bonjour,

    Je voudrais créer un dossier par membre. Mon script fonctionne tant qu'il n'existe pas de répertoire. Mais lorsque le répertoire existe déjà j'ai le message suivant :le repertoire n'existe pas
    Warning: mkdir() [function.mkdir]: File exists in C:\xampp\htdocs\creditcommercial\membres\financementEnvoi.php on line 45
    comme si les conditions ne s'exécutaient pas ...
    C'est clair qu'il ne peut pas créer le répertoire puisqu'il existe déjà.
    Un peu d'aide serait bien sympathique (le code ci dessous), avec mes remerciements par avance.

    PS : les "echo" c'est juste pour essayer de comprendre ce qui bloque.


    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
     
     
    function upload($index,$destination,$maxsize=FALSE,$extensions=FALSE)
    {
       //Test1: fichier correctement uploadé
         if (!isset($_FILES[$index]) OR $_FILES[$index]['error'] > 0) return FALSE;
       //Test2: taille limite
         if ($maxsize !== FALSE AND $_FILES[$index]['size'] > $maxsize) return FALSE;
       //Test3: extension
         $ext = substr(strrchr($_FILES[$index]['name'],'.'),1);
         if ($extensions !== FALSE AND !in_array($ext,$extensions)) return FALSE;
       //Déplacement
         return move_uploaded_file($_FILES[$index]['tmp_name'],$destination);
    }
     
     
    $idprospects = $_POST['idprospects'];
     
    if (is_dir('../membres/fichiers/'.$idprospects.'/')) { // Si le repertoire existe
    echo "le repertoire existe";
    	if(file_exists("fichiers/ ".$idprospects."/cni")) {// Si l utilisateur a deja enregistré des fichiers
    	echo "cni existe";
    	}
    	else {
    	echo "cni n'existe pas"; // on charge le fichier
     
    	$dir ="../membres/fichiers/ ".$idprospects;
    	$upload1 = upload('cni', $dir.'/cni' , 100000, array('png','gif','jpg','jpeg','pdf') );
    	}
    	if(file_exists("fichiers/ ".$idprospects."/kbis")) {
    	echo "kbis existe";
    	}
    	else {
    	echo "kbis n'existe pas";// on charge le fichier
    	$dir ="../membres/fichiers/ ".$idprospects;
    	$upload2 = upload('kbis', $dir.'/kbis' , 100000, array('png','gif','jpg','jpeg','pdf') );
    	}
    }
     
    else { // Si le repertoire n'existe pas
    echo "le repertoire n'existe pas";
    $dir ="../membres/fichiers/ ".$idprospects;
    mkdir($dir, 0700); // Creation d'un repertoire unique pour l'utilisateur
    $upload1 = upload('cni', $dir.'/cni' , 100000, array('png','gif','jpg','jpeg','pdf') );
    $upload2 = upload('kbis', $dir.'/kbis' , 100000, array('png','gif','jpg','jpeg','pdf') );
    }

  2. #2
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Août 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2009
    Messages : 12
    Points : 16
    Points
    16
    Par défaut
    C'est bizarre mais au lieu de mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    else { // Si le repertoire n'existe pas
    echo "le repertoire n'existe pas";
    $dir ="../membres/fichiers/ ".$idprospects;
    mkdir($dir, 0700); // Creation d'un repertoire unique pour l'utilisateur
    $upload1 = upload('cni', $dir.'/cni' , 100000, array('png','gif','jpg','jpeg','pdf') );
    $upload2 = upload('kbis', $dir.'/kbis' , 100000, array('png','gif','jpg','jpeg','pdf') );
    }
    Crée carrément un nouveau if juste histoire de tester... logiquement le else devrait prendre l'autre valeur puisque il n'y a que true ou false mais sait-on jamais.

    edit: Je n'ai que des petits bouts de solutions alors je préfère éditer pour pas flood le post..
    Essaye de construire "'../membres/fichiers/'.$idprospects.'/'" avant et de l'assigner à une variable

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 185
    Points : 79
    Points
    79
    Par défaut
    Merci de ta réponse GANON.
    Oui avant de poster j'avais fait le test avec deux if et même avec un elseif mais visiblement, cela ne fonctionnait pas non plus. Je n'arrive pas à comprendre ou je fais une erreur ...

  4. #4
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonjour,

    Il suffit de ne pas le créer si il existe déjà.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if(!is_dir($dir)) mkdir($dir, 0700);
    Aussi, tu ne testes pas dans ton if le même chemin que celui que tu passes à la fonction mkdir. Déclares ta variable $dir au-dessus, ca t'évitera de déclarer la variable $dir dans chaque condition..
    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
    $dir ="../membres/fichiers/ ".$idprospects;
    if(is_dir($dir)) { // Si le repertoire existe
            echo "le repertoire existe";
    	if(file_exists("fichiers/ ".$idprospects."/cni")) {
    	    echo "cni existe";
    	}
    	else {
    	    echo "cni n'existe pas"; 
    	    $upload1 = upload('cni', $dir.'/cni' , 100000, array('png','gif','jpg','jpeg','pdf') );
    	}
    	if(file_exists("fichiers/ ".$idprospects."/kbis")) {
    	    echo "kbis existe";
    	}
    	else {
        	    echo "kbis n'existe pas";// on charge le fichier
    	    $upload2 = upload('kbis', $dir.'/kbis' , 100000, array('png','gif','jpg','jpeg','pdf') );
    	}
    }
    else { 
        echo "le repertoire n'existe pas";
        mkdir($dir, 0700); 
        $upload1 = upload('cni', $dir.'/cni' , 100000, array('png','gif','jpg','jpeg','pdf') );
        $upload2 = upload('kbis', $dir.'/kbis' , 100000, array('png','gif','jpg','jpeg','pdf') );
    }

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

Discussions similaires

  1. [XL-2007] Gestion des alertes avec condition Excel
    Par Leodams dans le forum Excel
    Réponses: 4
    Dernier message: 17/02/2015, 12h19
  2. Gestion des transactions avec les composants DOA
    Par lper dans le forum Bases de données
    Réponses: 2
    Dernier message: 01/12/2008, 16h06
  3. Gestion des factures avec interbase
    Par AlexB59 dans le forum Bases de données
    Réponses: 1
    Dernier message: 25/10/2005, 12h05
  4. Gestion des cookies avec Indy 10
    Par membrax dans le forum Web & réseau
    Réponses: 5
    Dernier message: 21/09/2005, 18h44
  5. Class de gestion des images avec rotation
    Par Johnny Boy dans le forum MFC
    Réponses: 1
    Dernier message: 03/05/2005, 11h54

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