Problème de permissions fopen()

Eléphanteau du PHP | 28 Messages

11 janv. 2010, 11:33

Bonjour,
j'ai installé un serveur local sur mon ordinateur (windows xp) pour faire des test sur le site intranet de mon travail.
Certains script permettent la création de fichiers, j'ai d'ailleurs attribué tous les droits sur les dossiers ou doivent être les fichiers et si ils ne le sont pas ils devraient être créés.
Cependant, lorsque je lance le script, des erreurs de ce genre apparaissent :

Code : Tout sélectionner

Warning: fopen(\\***\dossiers\***\***\Fichiers liés\tableau.rtf) [function.fopen]: failed to open stream: Permission denied in D:\divers\htdocs\princip\creerTableau.php on line 281
Et pourtant les droits sont correctements attribués...
Le fopen est en mode "w", en "a" ne fonctionne pas non plus. seul "r" semble fonctionner, mais j'ai besoin du "w"

Mervi de vos réponses.

Eléphant du PHP | 63 Messages

11 janv. 2010, 11:56

Vérifie que tes répertoires ne soient pas en lecture seule. Sinon que le safe mode soit sur Off.

Eléphanteau du PHP | 28 Messages

11 janv. 2010, 12:03

Les deux sont ok...

Eléphant du PHP | 63 Messages

11 janv. 2010, 12:29

Pourrais-tu nous montrer comment tu effectues ton fopen ?

Eléphanteau du PHP | 28 Messages

11 janv. 2010, 12:33

Code : Tout sélectionner

$fp = fopen(utf8_decode(str_replace("\'","'",$repAffaire)."\\Fichiers liés\\tableau.rtf"),"w");
ou encore comme ca:

Code : Tout sélectionner

fopen(utf8_decode("\\\\***\\dossiers\\***\\***\\Fichiers liés\\tableau.rtf"),"w");
Mais il ne devrait pas y avoir de problème, ça fonctionne en production

Eléphant du PHP | 63 Messages

11 janv. 2010, 12:39

Les antislashes \\\\ au début de ta chaine correspondent à une ressource en réseau ? Si oui, le problème pourrait venir de là.

Eléphanteau du PHP | 28 Messages

11 janv. 2010, 12:40

Ressource réseau, mais d'un dossier local, que j'ai partagé. Et auquel j'ai attribué tout les droits.

Eléphant du PHP | 63 Messages

11 janv. 2010, 12:47

Et bien il semblerait que PHP n'arrive pas à s'y connecter. Je ne peux rien te conseiller d'autre que de vérifier la façon dont tu as défini tes droits. Je ne sais pas si tu vas déployer ton application sur un serveur autre que Windows mais ça sera encore différent pour les permissions.

Désolé mais je ne vois pas comment je pourrais t'aider sur ce coup là.
Bonne chance.

Eléphanteau du PHP | 28 Messages

11 janv. 2010, 13:03

En y accédant par un chemin local, ça marche, mais dès que je met le chemin sur le réseau, ça ne fonctionne plus. Et pourtant les droits sont mis...