mkdir() dit theres aucun répertoire de ce type et ne parvient pas?
Im susceptibles de faire quelque chose de très simplement une erreur, mais lorsque je tente de faire un répertoire (à l'aide d'une variable d'un insert vient d'être effectué tant que le nom de dossier), j'obtiens l'erreur:
Warning: mkdir() [function.mkdir]: Aucun fichier ou répertoire dans /home/bla/bla
avec le code:
if (!is_dir("images/listing-images/rent/'.$insertID.")) {
//make new directory with unique id
mkdir("images/listing-images/rent/'.$insertID.");
}
bien sûr, le répertoire n'existe pas.. je suis en train de le faire maintenant? confus!
- Veuillez expliquer ce que
"images/listing-images/rent/'.$insertID."
chaîne signifie que - Est le répertoire parent du maintenant-à-être-créé-répertoire?
- Ne soyez pas confus. Je pense que le répertoire dans lequel vous souhaitez créer un répertoire n'existent pas.
- .. donc j'ai oublié de faire l' /location répertoire. pense que j'ai été trop long! merci à tous
Vous devez vous connecter pour publier un commentaire.
Vous avez une erreur dans votre chaîne:
devrait être:
images/listing-images/rent
syntax
si vous pense que ce serait rendre la réponse plus préciseCela se produit parce que vous n'avez pas
images/listing-images/rent
chemin d'accès existant dans votre système de fichiers.Si vous souhaitez créer tout le chemin juste de passer le 3ème argument comme un
true
:Il ya aussi une chance que vous êtes dans un mauvais répertoire actuellement. Si c'est le cas - vous avez besoin de changer le répertoire courant avec
chdir()
ou spécifier le chemin d'accès complet.En supposant que vous êtes à l'aide de PHP > 5.0.0, essayez
mkdir("path", 0777, true);
pour permettre la création des répertoires de manière récursive (voir ici: http://php.net/manual/en/function.mkdir.php).nom de chemin d'accès.
dans mon cas $insertID a été généré à partir des données de la chaîne par concatinating
J'simple réécriture de code comme celui-ci et l'erreur a disparu:
Vous ne devriez pas utiliser is_dir() pour vérifier si quelque chose existe, vous voulez file_exists() ainsi. Essayez:
Ont pris le". depuis, il ressemble à une erreur de syntaxe, mais vous pourriez avoir une raison légitime de le garder dans.
Si la mkdir échoue encore, il se pourrait que les images/liste-des images/loyer n'existe pas, vous devrez créer séparément si.