2009-03-12 5 views
0

Ich mache ein Projekt, in dem ich auf die Ordner von Remote-System zugreifen möchte verbunden über LAN.So holen Sie entfernte Systemdateien mit PHP?

Davon habe ich eine Dropdown-Liste. Wenn ich den Laufwerksbuchstaben des entfernten Systems wähle (zB: c :, d :), werden die entsprechenden Dateien in diesem Ordner in meinem System angezeigt.

Gibt es ein Tutorial dafür?

Ich habe das versucht, aber es funktioniert nur für das lokale System und auch ich kann die entsprechenden Dateien nicht öffnen.

<html> 
    <head> 
     <title>Drive contents</title> 
    </head> 
    <body> 
    </body> 
    <?php // Php starts here 
    $myDirectory = opendir("C:\Dream"); 
    $path = "c:"; 
    // get each entry 
    while($entryName = readdir($myDirectory)) { 
     $dirArray[] = $entryName; 
    } 
    // close directory 
    closedir($myDirectory); 

    // count elements in array 
    $indexCount = count($dirArray); 
    Print ("$indexCount files<br>\n"); 

    // sort 'em 
    sort($dirArray); 
    // print 'em 
    // loop through the array of files and print them all 
    for($index=0; $index < $indexCount; $index++) { 
     if (substr("$dirArray[$index]", 0, 1) != "."){ // don't list hidden files 
      print("<a href=\"$dirArray[$index]\">$dirArray[$index]</a>"); 
      echo "<br>"; 
     } 
    } 
?> 
</html> 

Antwort

0

Blick auf php stream functions und Funktion glob

$myDirectory = opendir("Y:\\logs"); 

Stream-Funktionen können remote dirs öffnen

\\smbserver\share\path\to\winfile.ext 
1

Wo ist Ihr PHP-Skript ausgeführt wird? Um besser zu verstehen, wo ist dein Skript? Wird das Skript auf demselben Computer ausgeführt wie die Remote-Dateien oder befindet sich das Skript an einem anderen Ort?

Wie auch immer, in beiden Fällen sollten Sie zuerst prüfen, ob die php safe_mode-Direktive ein- oder ausgeschaltet ist und auch den Wert der open_basedir-Direktive, da sie Sie für den Zugriff auf bestimmte Verzeichnisse blockieren können.

Wenn sich das Skript jedoch auf einem anderen Server befindet, sollten Sie auch die Berechtigungen der Remote-Server-Verzeichnisse überprüfen und überprüfen, ob die allow_url_fopen-Direktive in php.ini auf "On" gesetzt ist.

0

anstelle von http: // Präfix, versuchen Sie mit der Datei: /// Präfix in Ihrem ahrefs