Création d'un répertoire en PHP

Résolu
dolu -  
 Gabyramb -
Bonjour,

Pour créer un répertoire j'utilise la fonction mkdir

if(mkdir ("/home/sam/mondossier"))
{
echo"ça marche!!!!";
}
else
{
echo"marche pas";
}

mais la crétion ne se fait pas. Pourquoi?
Je pense qu'il s'agit d'une histoire de serveur avec les droit mais je vois pas comment y remédier. Un dossier temporaire?

Merci

23 réponses

  • 1
  • 2
Résumé de la discussion

Le problème central est que la création d'un répertoire via PHP avec mkdir('/home/sam/mondossier') ne s'effectue pas, probablement à cause des droits d'écriture de l'utilisateur exécutant le serveur. Des solutions proposées incluent l'usage de mkdir avec récursivité et suppression d'erreurs (@mkdir('/home/sam/mondossier', 0777, true)), et la vérification des droits d'écriture sous Linux pour ajuster le chemin et le contexte. D'autres conseils consistent à créer d'abord les répertoires parents étape par étape ou à tester des chemins relatifs lorsque le chemin absolu déclenche des erreurs d'accès. En complément, certains évoquent les risques de sécurité liés à l'utilisation de permissions élevées comme 0777 et recommandent d'évaluer les droits réels et la configuration du serveur avant d'adopter ces méthodes.

Bobot (l'IA à votre service)
  1. web59000_at_yahoo.fr
     
    Bonjour,

    suivant https://www.php.net/manual/fr/function.mkdir.php

    Depuis PHP5,
    Les répertoires peut être créer avec

    if(@mkdir ("sam/mondossier",0777,true)

    true pour la création de répertoire de façon récursif.

    Attention toutes fois, si le droit utilisateur (instance apache) n'a pas les droits d'ecriture, la creation de répertoire ne pourra pas s'effectuer..
    notamment sous linux, par example pour le répertoire /home ..etc...

    PS: je sais que ce post date, mais je penses au nombreux utilisateurs qui tombe sur ce post ( via Google par ex)
    40
    1. web59000_at_yahoo.fr
       
      hi, mon post qui me sert de nouveaux (merci google)
      0
    2. 537716
       
      Merci pour cà ;)
      0
    3. Brugere
       
      Merci encore pour cette contribution :)
      0
  2. Alternate Messages postés 277 Date d'inscription   Statut Membre Dernière intervention   157
     
    j'ai oublié de préciser que l'on ne peut créer qu'un seul répertoire à la fois d'abord le "home" puis le "sam" puis le "monDossier"
    donc ça donne :
    mkdir("home");
    mkdir("home/sam");
    mkdir("home/sam/monDossier");
    26
    1. web59000_at_yahoo.fr
       
      on peut créer des répertoires de façon récursif. voir ma réponse un peu plus bas.
      0
  3. Alternate Messages postés 277 Date d'inscription   Statut Membre Dernière intervention   157
     
    essaye ça :

    if(@mkdir ("/home/sam/mondossier")) { 
    	echo"ça marche!!!!"; 
    } else {
    	echo"marche pas"; 
    }
    
    21
    1. trazibule
       
      merci aussi !
      0
  4. francis
     
    Essaye plutôt cela :
    if(@mkdir ("/home/sam/mondossier")) {
    echo"cela fonctionne";
    } else {
    echo"cela ne fonctionne pas";
    }

    referencement google
    9
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Alternate Messages postés 277 Date d'inscription   Statut Membre Dernière intervention   157
     
    ouais
    3
  7. Brumisateur_veloce
     
    janvier 2010..., et ce post m'a été utile !
    Supposer qu'une réponse 5 ans après n'est pas utile suppose un bien grand savoir et une bien petite envie de partager.
    Mais pour ceux la, je propose la création d'un filtre tout bête : ne voir que les réponses de moins de 3 heures.
    Ca fait un peu "Pôle-emploi" mais chacun son truc... Y a plus qu'à étendre le principe et supprimer l'histoire et la géographie en terminale...
    3
  8. thiboss03
     
    Moi aussi ca m'a été utile ;)
    et tac :p
    2
  9. Alternate Messages postés 277 Date d'inscription   Statut Membre Dernière intervention   157
     
    cliquez sur le plus du/des message(s) qui vous ont été util(s). ;)
    2
    1. tafary94
       
      Pareil pour moi merci beacoup!!
      0
    2. bg62 Messages postés 23433 Date d'inscription   Statut Modérateur Dernière intervention   2 435
       
      oui mais pas sur cette réponse .... !
      0
  10. clarybelle Messages postés 2 Statut Membre 2
     
    20 décembre 2012 : ce post m'a été TRES utile ! Merci beaucoup !
    2
  11. bg62 Messages postés 23433 Date d'inscription   Statut Modérateur Dernière intervention   2 435
     
    e lundi 12 janvier 2004 à 11:35:16

    tu crois que cela sert de répondre encore depuis le temps ???
    1
  12. luher1612
     
    salut:
    je crois que tu n'a pas ajoute le mode qudoit être en octal
    0
  13. onethirty1 Messages postés 7 Statut Membre
     
    c koi ton herbergeur?
    0
    1. libre25
       
      t'es shf depuis 2004 ou tu en as trouvé ; moi je suis libre !
      0
  14. superloulou88
     
    Lu

    Merci tu vois ça met utile gros boloss !
    0
  15. Heryu Messages postés 645 Statut Membre 62
     
    Essayez de rester poli...
    0
    1. merlin
       
      vghhc jkhjh hj
      0
  • 1
  • 2