Page 1 sur 1
copier un fichier vers un autre serveur local
Posté : 19 oct. 2007, 15:17
par jcmahieu
Bonjour,
Voici mon problème.
Je voudrais simplement copier un fichier (test.php) d'un serveur vers un autre. Les deux serveurs sont sur le réseau local. J'ai les droits en lecture et en éciture sur les deux serveurs.
le code:
test.php
...
copy("img/test.jpg","//Argon4/img/test.jpg");
...
le message d'erreur:
Warning: move_uploaded_file(//Argon4/img/test.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in D:\Lotus\Data\test.php on line 70
Je rappelle que j'ai bien les droits d'accès. Quelqu'un a une idée?
Merci d'avance
Posté : 20 oct. 2007, 17:35
par @rthur
Bonjour,
Le problème vient du fait que tu tentes d'utiliser une adresse réseau Windows (qui d'ailleurs devrait commencer par 2 antislashes et pas 2 slashes) et je ne suis pas sûr que ce soit possible avec PHP...
Une solution alternative si tu as des serveurs FTP sur tes serveurs seraient de passer par le protocole FTP
Posté : 20 oct. 2007, 17:41
par Calimero
En complément de la réponse d'@rthur, tu auras peut-être de meilleurs résultats si tu accèdes à ton partage réseau windows par une lettre de lecteur virtuel. (Voir la commande NET USE sous windows 2000 et supérieur pour déclarer ce lecteur virtuel sur le système)
Posté : 20 oct. 2007, 17:55
par Tracker
Salut,
En fait rien n'indique dans la doc que l'opération est impossible:
Système de fichiers
/path/to/file.ext
relative/path/to/file.ext
fileInCwd.ext
C:/path/to/winfile.ext
C:\path\to\winfile.ext
\\smbserver\share\path\to\winfile.ext
file:///path/to/file.ext
Filesystem est le gestionnaire par défaut de PHP et il représente les fichiers locaux. Lorsqu'un chemin relatif est spécifié (un chemin qui ne commence pas par /, \, \\, ou une lettre de lecteur Windows), le chemin sera calculé relativement à la position courante. Dans de nombreux cas, c'est le dossier de résidence du script, à moins qu'il n'ait été modifié. En utilisant la version CLI, le chemin sera calculé par rapport au dossier d'appel du script.
Il faut creuser un peu...
D'abord pourquoi l'erreur est sur un move_uploaded_file(...) alors que c'est copy(...) qui est invoqué ??
Peux-tu mettre le code de ta ligne 70 ?
Tracker.
Posté : 22 oct. 2007, 09:34
par jcmahieu
Au temps pour moi, voici l'instruction et le message d'erreur exacts:
<?
copy("../img/admin/index/orli_index.gif","//Argon4/Intranet/data/domino/html/OrliPhp/classifieds_img/");
?>
Warning: copy(//Argon4/Intranet/data/domino/html/OrliPhp/classifieds_img/) [function.copy]: failed to open stream: Permission denied in D:\Lotus\Domino\Data\domino\html\Orli\admin\test.php on line 2
Posté : 22 oct. 2007, 10:06
par Calimero
<?
copy("../img/admin/index/orli_index.gif","//Argon4/Intranet/data/domino/html/OrliPhp/classifieds_img/");
?>
Warning: copy(//Argon4/Intranet/data/domino/html/OrliPhp/classifieds_img/) [function.copy]: failed to open stream: Permission denied in D:\Lotus\Domino\Data\domino\html\Orli\admin\test.php on line 2
Je rappelle que j'ai bien les droits d'accès.
Si PHP te le dit, ça ne peut qu'être vrai

Tu as peut-être les permissions sur ton utilisateur courant, mais apparemment pas PHP. Il faut revoir la configuration des droits sur le partage, ou alors de l'utilisateur qui fait tourner PHP.