Verzeichnis auslesen
-
Hi Leute,
ich möchte alle in einem Ordner enthaltenen Dateien auflisten lassen. Mit meinem eigenen c-Laufwerk geht es auch:
$i=0; $pfad="C:"; $ordner=opendir("$pfad"); //$ordner=opendir("c:"); while (($datei=readdir($ordner))!=false) { if($datei!='.' && $datei!='..') { echo $datei .'<br/>'; $i=$i+1; } } echo '<br/>Der Ordner "' . $pfad . '" enthällt "' . $i . '" Dateien!<br/><br/>';
Ich würde aber gerne die Dateien auf einem anderen Laufwerk eines anderen Rechners auflisten lassen, aber es funktioniert nicht.
Der Pfad sieht so in der Art aus:\\server1\c$\verzeichnis
Fehler:
Warning: opendir(\\...): failed to open dir: Invalid argument in ... Warning: readdir(): supplied argument is not a valid Directory resource in ...
Ich denke dass vielleicht der Pfad einfach anders angegeben werden muss, habt ihr eine Idee?
thx MFG
-
wenn der andere Rechner ein UNIX Server ist, dann ist der Pfad
/server1/c$/verzeichnis
-
ist nen w2k3-server
-
Statt " besser ' verwenden und/oder \ escapen (also \)
-
Also...
Wenn ich ' statt " verwende:
Fall 1:
$pfad='\\s4236547111\c$'; $ordner=opendir('$pfad');
Er erkennt $pfad nicht als variable sondern schreibt einfach nur $pfad hin.
Fall 2:
$pfad="\\s4236547111\c$"; $ordner=opendir('$pfad');
Er erkennt $pfad nicht als variable sondern schreibt einfach nur $pfad hin.
Fall 3:
$pfad='\\s4236547111\c$'; $ordner=opendir("$pfad");
Er erkennt zwar die variable, aber es geht auch nicht.
Wie soll ich denn "\" escapen??? Also habs so gemacht:
$pfad='\\\\s4236547111\\c$'; $ordner=opendir("$pfad");
Aber geht nicht.
Ach und wenn ich statt \ einfach
\
nehme geht es auch nicht.
Ist es vielleicht gar nicht möglich???
-
machs so:
$pfad='/s4236547111/c$'; // was soll das $ da? $ordner=opendir($pfad); // ganz ohne anführungszeichen
-
Geht auch nicht.
Das $ steht für versteckte Freigabe.