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 :

utilisation de mkdir


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 019
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 019
    Par défaut utilisation de mkdir
    Bonjour à tous,

    J'ai un petit problème avec l'utilisation de mkdir. Cela fonctionne trés bien pour créer un dossier qui n'existe pas.

    Mais lorsque je veux crée un dossier qui porte le même nom la fonction ne marche pas.

    Je ne sais pas si je suis trés clair...si quelqu'un pouvait m'aider, merci.

  2. #2
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 60
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Non tu n'es pas très clair.
    Que veux-tu faire si le dossier existe ?
    Le supprimer avec tout ce qu'il peut contenir ?
    Alors il faut commencer par cela... avec une fonction de suppression récursive. On trouve ce genre de fonctions dans les commentaires du manuel PHP, page rmdir (pour remove dir)...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public function delTree($dir) { 
       $files = array_diff(scandir($dir), array('.','..')); 
        foreach ($files as $file) { 
          (is_dir("$dir/$file")) ? delTree("$dir/$file") : unlink("$dir/$file"); 
        } 
        return rmdir($dir); 
      } 
     
    if (is_dir('mon_dossier')) {
        delTree('mon_dossier');
    }
     
    mkdir('mon_dossier');

    Après cela, la place est libre pour ton mkdir...
    Tout cela si tu as les droits de supprimer le dossier bien sûr...
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  3. #3
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 019
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 019
    Par défaut Probleme avec l'utilisation de mkdir
    Ah non je ne veux pas le supprimer s'il existe car dans un même dossier il y aura plusieurs autres dossiers...

  4. #4
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 60
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    gné ?
    Donne un exemple concret, parce que là, c'est pas audible.
    Si tu nommes un dossier toto, puis un autre dossier toto au même niveau... il l'écrase, que veux-tu qu'il fasse d'autre ?
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  5. #5
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 019
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 019
    Par défaut Probleme avec l'utilisation de mkdir
    Oui c'est mieux avec un petit exemple, je fais ça pour des offres d'emplois.

    Le truc c'est qu'il y a plusieurs établissements et dans chaques établissements, il y a une ou plusieurs offre d'emplois.

    Dans les dossiers offres d'emplois il y a les personnes qui postulent.

    Du coup le chemin devrait ressembler à ceci : ./etablissement/offre/nom_prenom

  6. #6
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 60
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Pas assez précis ton exemple :


    ça serait du genre

    etab1/offre25/dupont_sophie/fichier1.doc
    etab1/offre25/dupont_sophie/fichier2.doc
    etab1/offre25/martin_eric/fichier1.jpg
    etab1/offre25/martin_eric/fichier2.xls

    C'est ça ?

    Et dans ce cas, que veux tu dire par "quand le répertoire existe déjà ?"

    Il me semble que tu dois vérifier à chaque étape que ton répertoire ou ton fichier existe, et dans l'ordre arborescent...
    Evidemment, j'ai mis des valeurs en dur dans mon exemple, que tu vas remplacer par des variables dynamiques...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    if (! is_dir('/etab1')) {
        mkdir('/etab1');
    }
    if (! is_dir('/etab1/offre25')) {
        mkdir('/etab1/offre25');
    }
    if (! is_dir('/etab1/offre25/dupont_sophie')) {
        mkdir('/etab1/offre25/dupont_sophie');
    }
    if (! file_exists('/etab1/offre25/dupont_sophie/fichier1.doc')) {
        //tu poses ton fichier sur le chemin...
    }
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/05/2007, 21h37
  2. Réponses: 5
    Dernier message: 01/03/2007, 19h08
  3. Probleme avec l'utilisation de $_SESSION
    Par lepiou dans le forum Langage
    Réponses: 3
    Dernier message: 23/01/2007, 22h35
  4. Problème avec l'utilisation de grep
    Par fgalves dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 08/11/2006, 00h49
  5. Problème avec l'utilisation de la commande system awk
    Par vbcasimir dans le forum Linux
    Réponses: 3
    Dernier message: 05/10/2004, 17h18

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