Wenn man unter Windows eine externe Freigabe benutzt, wird man in der Regel ein "Netzlaufwerk verbinden" und unter einem neuen Laufwerksbuchstaben bereitstellen. Mit PHP kann man aber genauso gut auch direkt UNC-Pfade ansprechen und dabei auch noch frei zwischen \\ und / als Verzeichnisseparator wählen, d. h. wem "\\\\server\\folder" zu merkwürdig aussieht, der schreibt einfach "//server/folder".

Ein Problem bleibt: Die meisten Freigaben sind nur mit Benutzername und Kennwort erreichbar, aber auch das lässt sich bewerkstelligen.

Da die Funktionen "Netzlaufwerk verbinden" und "Netzlaufwerk trennen" auch von der Konsole aus zur Verfügung stehen, kann man exec benutzen, um diese Kommandos zu Beginn bzw. am Ende des Script aufzurufen:

Code:
net use \\server[\folder\...] password /user:domain\username
Code:
net use \\server[\folder\...] /delete
Mit diesem Wissen könnte man jetzt einen schicken Stream Wrapper schreiben, der es erlaubt, entfernte Verzeichnisse z. B. so zu öffnen:

PHP-Code:
$dh opendir("unc://TestUser:TestPwd@192.168.115.3/Fotos");
// oder
$text file_get_contents("unc://TestUser:TestPwd@joerg-notebook/config/server.ini"); 
Wie man das macht, steht im PHP Handbuch. Oder ihr wartet auf den nächsten Blogeintrag, wo ich es als Praxistutorial zeige.

Gruß,

Amica