Création d'un répertoire en PHP
RésoluGabyramb -
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
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.
-
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) -
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"); -
essaye ça :
if(@mkdir ("/home/sam/mondossier")) { echo"ça marche!!!!"; } else { echo"marche pas"; } -
Essaye plutôt cela :
if(@mkdir ("/home/sam/mondossier")) {
echo"cela fonctionne";
} else {
echo"cela ne fonctionne pas";
}
referencement google -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
-
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... -
-
-
-
-
-
cliquez sur le plus du/des message(s) qui vous ont été util(s). ;)
-
-
20 décembre 2012 : ce post m'a été TRES utile ! Merci beaucoup !
-
e lundi 12 janvier 2004 à 11:35:16
tu crois que cela sert de répondre encore depuis le temps ??? -
-
-
-
-
- 1
- 2