Zugriff auf Verzeichnisse außerhalb des Webverzeichnisses

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Zugriff auf Verzeichnisse außerhalb des Webverzeichnisses

    Hi,
    an dem folgenden Problem beiße ich mir schon seit mehreren Tagen die Zähne aus:

    Ich will mittels php auf ein verzeichnis auf einer anderen festplatte zugreifen. die seite soll automatisch alle unterverzeichnisse durchsuchen und dann die einzelnen dateien als downloadbare links darstellen. zwar habe ich es geschafft, dass dies passiert, leider werden aber die links falsch angegeben. php stellt den link immer relativ zum webverzeichnis dar und nicht den tatsächlichen pfad. der link funktioniert also nicht. hier mal der code soweit wie ich bisher gekommen bin:

    <?PHP

    function show_dir($dir, $pos=2)
    {
    if($pos == 2)
    {
    echo "<hr><pre>";
    }

    $handle = @opendir($dir);
    while ($file = @readdir ($handle))
    {
    if (eregi("^\.{1,2}$",$file))
    {
    continue;
    }

    if(is_dir($dir.$file))
    {
    printf ("% ".$pos."s <b>%s</b>\n", "|-", $file);
    show_dir($dir.$file."/", $pos + 3);
    }
    else
    {
    echo(" ");
    echo("|-");
    echo("<a href=c:\daten\ "$file\">");
    echo("$file");
    echo("</a>\n <br>");
    }
    }
    @closedir($handle);

    if($pos == 2)
    {
    echo "</pre><hr>";
    }

    }

    show_dir("c:/daten/");
    ?>


    der webserver liegt unter e:\programme\apache\htdocs

    aus platzgründen kann ich leider nicht einfach die daten ins webserver verzeichnis kopieren.

    Wäre super wenn mir da jemand weiterhelfen könnte. Schon mal danke im voraus.

  • #2
    Das ist zwar nicht die Lösung allerdings müsste meines erachtens die Zeile:

    echo("<a href=c:\daten\ "$file\">");


    so lauten

    echo("<a href=\"$dir$file\">");


    Ausserdem bin ich mir nicht ganz bewußt was das soll:

    Normalerweise greift ein Externer Benutzer nicht auf Deinen Webserver zu in dem er e:\programme\apache\htdocs aufruft,
    sondern z.B.: http://meinrechner/index.htm

    Also bring Ihm die Adresse c:\daten\irgendwas gar nichts weil's letztlich 'n Zugriff auf seine lokale Platte ist.
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Kommentar


    • #3
      vielen dank schon mal soweit. aber wie bekomme ich das jetzt noch hin, dass das ein zugriff auf die datei auf dem server ist und nicht auf seiner lokalen platte gesucht wird?

      Kommentar


      • #4
        Da muss ich mal drüber schlafen ...

        Unter Linux würde ich 'nen Symlink machen oder die Platte entsprechend ins Verzeichnis mounten ... aber Windows ist so ein naives Betriebssystem ...
        carpe noctem

        [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
        [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

        Kommentar

        Lädt...
        X