dedlfix: Is_dir , Opendir und UNC PFad geht nicht

Beitrag lesen

Tach!

Ich möchte auf ein Netzwerkpfad zugreifen.
$Sharename = "\\Win2008R2\Testdir\";
//$Sharename = "\\Win2008R2\Testdir\";

Der Pfad lautet \rechner\share. Das heißt, du brauchst 2 Backslashes und dann noch einen, sowie je einen für weitere Pfadbestandteile. Die richtige Syntax dafür ist die zweite Variante. Je zwei Backslashes stehen für einen einzelnen, wenn du ""-Strings hast. Die erste Variante funktioniert zwar auch, aber nur weil PHP keine \W als Escape-Seqzuenz kennt und dann die beiden Zeichen einzeln nimmt. Ich würde hier trotzdem die "ordentliche" Variante nehmen, weil die immer funktioniert, auch wenn du ohne es zu beachten einen Rechnernamen beginnend mit Buchstaben aus 'nrtvef' verwenden willst.

Warning: opendir(\Win2008R2\Testdir) [function.opendir]: failed to open dir: No error in c:\xampp\include.inc.php on line 127

Da gibt es einen Kommentar im Handbuch zur Funktion opendir(), der zu dieser Meldung was von Berechtigungen erzählt.

Ich kann jedoch in windows vom gleich PC problemlos auf den Share zugreifen.

Da kommst du auch mit dem angemeldeten Benutzer, der (angenommenerweise) Apache vermutlich ohne einen solchen.

Die Freigabe wurde schon auf "Jeder" und Gast gesetzt.

"Jeder" sollte doch auch Gäste mit einschließen. Wie auch immer, es gibt ein Security-Log in Windows, zu erreichen über den EventViewer. Da kannst du nachschauen (auf dem vom Server, nicht dem vom Client) und eventuell hilfreichere Meldungen finden.

dedlfix.