PHP: Filecrawler
Hallo Zusammen,
Wie bereits in meinem vorletzten Blogpost angekündigt, werde ich den PHP-Fileupload noch etwas verfeinern…
Heute werde ich euch zeigen, wie man die hochgeladenen Dateien auch runterladen kann
Um euch direkt zu verwirren, werde ich hier erstmal den kompletten Quellcode zeigen, und euch dann Schritt für Schritt erklären, was wo passiert
<?php[php]
echo "Hier die Files:";
$absolutePath=$_SERVER["DOCUMENT_ROOT"];
$folder=’/files’;
$completePath=$absolutePath.$folder;
$handle = opendir($completePath);
while ($file = readdir ($handle)) {
if($file != "." && $file != "..") {
if(is_dir($completePath."/".$file)) {
echo "<br/>/".$file;
} else {
$link = ".".$folder."/".$file;
echo "<br/><a href="".$link."">".$file."</a>";
}
}
}
closedir($handle);
[/php]
?>
Also…
Die erste Zeile öffnet wie ihr das ja schon kennt einen PHP-Bereich, damit der Code auch kompiliert wird ![]()
echo “Hier die Files:”; Gibt einfach nur den Text zwischen den Anführungszeichen aus.
In der dritten Zeile lesen wir die Konfiguration des Servers aus und speichern den absoluten Pfad zum Dokument Root der Webseite in der Variable $absolutePath.
In der Variable $folder speichern wir den relativen Pfad zu dem Verzeichnis, dass wir durchsuchen wollen.
$completePath verbindet die beiden zuvor verbundenen Pfade.
Die sechste Zeile öffnet den Pfad zu dem gewünschten Ordner und weist dies einem Handle zu, damit wir im weiteren Verlauf darauf zugreifen können ![]()
Über die While-Schleife laden wir nach und nach den kompletten Inhalt des Ordners in die Variable $file, bis wir am Ende des Ordners angekommen sind.
Die erste If-Abfrage sorgt dafür, dass wir nicht mit dem aktuellen oder übergeordneten Ordner arbeiten. Danach wird überprüft, ob der aktuelle Eintrag ein Ordner ist.
Ist dies der Fall, so wird der Name des Ordners ausgegeben… Ist es eine Datei, so geben wir den Namen inklusive Hyperlink ausgegeben, damit man sie auch herunterladen kann.
Zum Schluss schließen wir noch, mit Hilfe des Handles, den Ordner und den PHP-Bereich.
Und schon können wir die hochgeladenen Dateien wieder runterladen
Als kleinen Bonus noch ein kleiner Tipp:
Wenn wir in der Konfiguration des Webservers noch einstellen, dass das durchsuchen von Ordnern verboten ist, kann man die Dateien nicht durch einfachen Aufruf der URL über den Browser durchsuchen, sondern nur durch das Skript.
Somit erhöhen wir noch ein wenig die Sicherheit der Dateien
Tja, hiermit bin ich erstmal wieder fertig… Weitere Tutorials folgen demnächst
Beste Grüße und noch einen schönen Abend,
Chris