[PHP] MKDIR problèmes
Bonjour,
Je rencontre un soucis avec la fonction mkdir:
- Serveur web(apache) sur machine A
- Serveur php sur machine A
- Stockage des fichiers sur server B
Lorsque je tente de deplacer un fichier (via php) du serveur A vers B, je créè une arborescence de rangement. Pour se faire j'ai mappé un drive sur le share de stockage. Mais voilà lorsque je tente d'utiliser mkdir pour créer l'arborescence, j'obtiens ce message:
Warning: mkdir() [function.mkdir]: No such file or directory in C:\MyWeb\Web\Images Managment\PHPLibrary\Content.php on line 205
Est ce que cela parle à quelqu'un?
Merci de votre aide.
TheMatrix
2 choses à vérifier :
- a priori, tu utilises un système windows : il faut vérifier que tu protèges bien les \ de ton chemin.
<?php
mkdir ("C:\\toto");
// et non :
mkdir ("C:\toto");
?>
- si ton mkdir doit créer non pas une "simple feuille" dans ton arborescence mais plusieurs dossiers de manière recursive, il te faut utiliser le 3 ème paramètre de
mkdir permettant la création récursive des dossiers.
Hello,
Déjà merci pour la réponse;
Et donc oui j'utilise 2 systèmes Windows 2003/2000;
Pour le format des chemins, je pense avoir tout essayé (sauf la bonne solution surement :-) ):
<?php
mkdir ("C:\\toto");
mkdir ("C:\\toto\\");
mkdir ("C:/toto");
mkdir ("C:/toto/");
// et même via l'adresse IP (plutot que le share lui même):
mkdir ("\\\\SERVER/toto");
mkdir ("\\\\SERVER/toto/");
mkdir ("\\\\SERVER\\toto");
mkdir ("\\\\SERVER\\toto\\");
?>
Pour info si cela peut aider à comprendre, le copy php (dans le même contexte, mais sans création de l'arborescence) donne:
Warning: copy(R:/IMAGES/BACKUP/toto.txt) [function.copy]: failed to open stream: No such file or directory in C:\MyWeb\Web\Images Managment\PHPLibrary\Content.php on line 205
Merci.
TheMatrix
Pour le copy, l'erreur dit que le fichier n'est pas trouvé, c'est donc juste un problème de chemin.
Je n'ai pas de windows sous la main pour tester, mais a priori, il faut mettre deux anti slash pour que le chemin soit ok (cela serait logique en tout cas : le premier anti slash servant à protéger le second, au final, PHP n'en "voit" qu'un).
Warning: copy(R:/IMAGES/BACKUP/toto.txt) [function.copy]: failed to open stream: No such file or directory in C:\MyWeb\Web\Images Managment\PHPLibrary\Content.php on line 205
Le truc c'est le path qu'il remonte (R:/IMAGES/BACKUP/toto.txt) c'est la destination :-(
Pour la création des répertoires, j'ai bien tenté de mettre les "\\" mets à priori ca ne lui suffit pas :-(
TheMatrix
Petite précision, R:/IMAGES/BACKUP/ sont des répertoires existant :-)
TheMatrix
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: