[PHP] MKDIR problèmes

Répondre
TheMatrix
le 28/10/2009 à 23:37
TheMatrix
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
LA GLOBULE
le 28/10/2009 à 23:59
LA GLOBULE
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.

exemple
<?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.
TheMatrix
le 29/10/2009 à 00:07
TheMatrix
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
LA GLOBULE
le 29/10/2009 à 00:11
LA GLOBULE
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).
TheMatrix
le 29/10/2009 à 00:18
TheMatrix
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
TheMatrix
le 29/10/2009 à 00:19
TheMatrix
Petite précision, R:/IMAGES/BACKUP/ sont des répertoires existant :-)
TheMatrix
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours