Hallo,
zunächst möchte ich sagen, dass ich hier alle Themenbereiche angesehen habe, aber mit meiner folgenden Frage passe ich nicht wirklich irgendwo 100%ig hinein. Vielleicht wäre es ja eine Anregung, einen allgemeinen Threat aufzumachen zu allgemeinen PHP-Fragen? Sicherlich ist das hier das Mambo/Joomla-Forum. Aber die eine oder andere allgemeine PHP-Fragestellung kommt ja trotzdem.
Nun zu meiner Frage. Ich habe auf meinem Webspace ein Verzeichnis eingerichtet, in dem ich passwortgeschützt Dateien ablegen möchte. Nun sollen auf dieses Verzeichnis gelinkte Personen zunächst den Inhalt des Verzeichnisses lesen können (am schönsten wäre auch durch-Browsen) und durch einen Klick auf die Datei selbige runterladen. Nun dürfte das eigentlich kein Thema sein, wenn auf dem Server das DirectoryListing aktiviert ist. Das habe ich für meinen Space getan ... aber es tut sich nix. Ich bekomme eine allgemeine Fehlerseite des Servers, aber nicht den Directory-Inhalt.
Jetzt habe ich mir gedacht, dass man das ja auch mit PHP lösen kann, also zumindest die Anzeige des Verzeichnisinhalts und durch entsprechende URLs auch die Ermöglichung des Downloads.
Folgendes Script habe ich mir im Netz gesucht ... weiss aber nicht, wie ich bei der Darstellung der Dateien entsprechend die a href-Syntax unterkriege. Ich füge mal mein Script an und würde mich freuen, wenn mir von euch jemand eine Antwort geben könnte. Danke!
MfgPHP-Code:<html><head><title> Directory</title></head><body><table width="193" height="87" border="1">
<?php
function showdir ($path)
{
echo "<tr><th colspan=10 align=left> Inhalt von Verzeichnis ", $path, "</th></tr>", "\n";
//einlesen
$dirs = $files = array();
$dir = opendir ($path);
while ($entry = readdir($dir))
if (is_dir($entry))
$dirs []= $entry;
else
$files []= $entry;
fclose ($dir);
//anzeigen
sort ($dirs);
for ($i=0; $i<count($dirs); $i++)
echo "<tr><td>", $dirs[$i], "</td><td><DIR></td></tr>", "\n";
sort ($files);
for ($i=0; $i<count($files); $i++)
echo "<tr><td>", $files[$i], "</td><td align=right>", filesize ($files[$i]), "</td></tr>", "\n";
}
showdir ('.');
?>
</table></body></html>
Alex


LinkBack URL
About LinkBacks
Zitieren
Lesezeichen