Question

Je mappé un lecteur réseau à un ordinateur dans mon réseau domestique. Maintenant, je suis en train d'y accéder via PHP - Je l'ai fait ce test rapide:

echo opendir('Z:\\');

Cela me donne:

Warning: opendir(Z:\) [function.opendir]: failed to open dir: No error in C:\wamp\www\webs\tester-function.php  on line 3

Qu'est-ce que je fait de mal ici?

Je ne veux pas que mes utilisateurs de taper dans le chemin UNC est donc là un moyen d'obtenir le chemin UNC pour eux et peut-être qui fonctionnera lorsque je tente d'y accéder? Ceci est possible dans les langues de Microsoft, mais je ne suis pas sûr de savoir comment PHP pour le faire - en utilisant peut-être une commande cmd.exe

S'il vous plaît noter que le lecteur mappé existe comme je peux le voir et je peux y accéder. Il ne semble pas être un problème de permissions que je suppose qu'il serait de plainte à ce sujet si elle pourrait également accéder à ce lecteur ... droit?

Merci à tous pour toute aide

Était-ce utile?

La solution

Le Notes Contribution des utilisateurs opendir () cette :

  

J'ai essayé d'accéder à des lecteurs réseau à l'aide de cette fonction opendir. J'ai lu tant de messages disant qu'il était presque impossible d'accéder à un lecteur réseau et enfin, je l'ai trouvé la réponse; il y a 2 étapes à suivre pour accéder à une unité de réseau avec PHP soit sur la même machine ou d'une autre machine.

dans ce cas, les droits d'utilisateur semblaient bien être le problème, qui peut être différent de vos droits en fonction de ce que PHP utilisateur / le serveur Web sont en cours d'exécution sur.

Autres conseils

Ouvrez la console MMC Services en cliquant sur Démarrer -> Exécuter (ou en utilisant la boîte de recherche, si vous utilisez Windows 7) et en tapant services.msc et appuyez sur Entrée.     Trouver le service Apache. Ayant jamais utilisé WAMP, je ne sais pas ce qu'il a été nommé. Espérons que cela commence par le mot « Apache », bien que, et ne devrait donc pas être trop difficile à trouver.     Faites un clic droit sur le service et sélectionnez Propriétés.     Passer à l'onglet Connexion.     Cliquez sur le bouton radio à côté de « Ce compte » et entrez les informations d'identification pour le compte d'utilisateur que vous souhaitez exécuter Apache sous. Si c'est un compte réseau / domaine, utilisez la syntaxe « DOMAIN \ utilisateur » (ou recherchez le compte en utilisant le bouton Parcourir).     Cliquez sur OK et redémarrez le service Apache.     Assurez-vous que vos modifications effectuées en recherchant le processus « httpd.exe » dans le Gestionnaire des tâches et la vérification pour voir quel nom utilisateur le processus est en cours d'exécution sous.

http://board.phpbuilder.com/board/showthread .php? t = 10371870 & page = 2

simple, utilisez: "\\\\server\\dir\\subfolder" comme le chemin. assurez-vous que vous pouvez accéder au « serveur ».

fonctionne pour moi.
$arquivo = "\\\\server\\dir\\subfolder\\file.txt"; echo is_file($arquivo); //print 1.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top