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 &quot;' . $pfad . '&quot; enth&auml;llt &quot;' . $i . '&quot; 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.


Anmelden zum Antworten