Link zur Datei auf der lokalen Festplatte
Ich versuche, zur Anzeige der Inhalte von einem Ordner auf meiner lokalen Festplatte, die als links in einem web-browser.
Dies ist, wie bekomme ich den Inhalt eines Ordners
$dir = scandir($path);
foreach($dir as $token)
{
if(($token != ".") && ($token != ".."))
{
if(is_dir($path.'/'.$token))
{
$folders[] = $token;
}
else
{
$files[] = $token;
}
}
}
foreach($folders as $folder)
{
$newpath = $path.'/'.$folder;
echo "<a href = tema2.php?cale=$newpath> [ $folder ] </a>" . "<br>";
}
foreach($files as $file)
{
$newpath = $path.'/'.$file;
echo "<a href = file:///$newpath> $file </a>" . "<br>";
}
Alles funktioniert einwandfrei außer die links zu den Dateien, die tun nichts, wenn Sie gedrückt werden. Die links, die zeigen, bis in meinem web-browser wie folgt : "file:///C:/folder/test.txt". Dies versuchte, Firefox, Chrome und IE.
- möglich, Duplikat der Öffnen Sie eine direkte Datei auf der Festplatte von firefox (file:///)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn die Datei außerhalb des web-server-Ordner werden nicht in der Lage, die Datei zugreifen zu liefern.
Können Sie entweder eine Datei-handler zu liefern der Dateien:
so ändern
echo "<a href = file:///$newpath> $file </a>" . "<br>";
zu
echo "<a href = \"fileHandler.php?file=$file\"" . "<br>";
und erstellen fileHandler.php als:
umgehen oder den web-server und den link zur Datei direkt (das funktioniert nur über LAN oder VPN)
so ändern
echo "<a href = file:///$newpath> $file </a>" . "<br>";
zu
echo "<a href ='$_SERVER[HTTP_HOST]/$newpath/$file'>$file</a><br />"
header('content-type:application/'.end(explode('.',$file)));
ist für eine Anweisung, um php mitzuteilen, zu dienen, bis Sie die Datei, anstatt die Anzeige der Inhalte im browserWird dies nicht funktionieren,
you cant link eine Datei außerhalb des Apache-htdocs-Ordner
2 Optionen :
1) verschieben Sie die Dateien, die Sie benötigen, um htdocs
2) mit virtuellen hosts /DocumentRoot
http://httpd.apache.org/docs/current/en/urlmapping.html
Stellen Sie XAMPP/Apache dienen Dateien außerhalb von htdocs
Ich dies umgehen, indem erstellen von symbolischen links in den apache-document-Ordner, um alle Ordner mit Inhalten die ich freigeben möchten. Also sagen will ich dienen, bis die Dateien aus "Z:/Media/", erstelle ich einen symbolischen link mit dem Namen "Media" innerhalb "D:/Server/HTTP/" (mein Apache-document-root-Ordner) und dann kann ich dienen, eine Datei wie "/Media/Filme/Fargo.mp4".