PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Suche PHP-Script um Dateien zu Verfügung zu stellen


Oliver_G
2006-06-01, 10:55:17
Hi,
kennt jemand ein Script, welches bei Aufruf alle Dateien eines bestimmten Ordners auf meinem Webspace auflistet und als Download anbietet? Bräuchte das nämlich, da ich öfters mal Freunden Dateien zu Verfügung stellen möchte.

Gruß

Kinman
2006-06-01, 11:11:17
Simpel, nicht elegant, aber hab i grad auf der platte liegen:


<?php
function getFilesFromDir($dir, $extension)
{
$dh = opendir($dir);

while (false !== ($filename = readdir($dh)))
{
$files[] = $filename;
}

for ($i = 2; $i < count($files); $i++)
{
if ($files[$i] != "")
{
if ($extension != "")
{
if (strcasecmp(substr($files[$i], strlen($files[$i])-strlen($extension), strlen($files[$i])),$extension) == 0)
{
$retfiles[$i-2] = $files[$i];
}
}
else
{
$retfiles[$i-2] = $files[$i];
}
}

}
return $retfiles;
}

function getFileSize($filename)
{
$filesize = @filesize($filename);

if ($filesize == false)
{
$filesize = 0;
}

return round(($filesize / 1024),2);
}

//Example code

echo("<html><head><title>Directory Content</title></head><body>");
echo("Files in this directory:<br><br>");

$f = getFilesFromDir("./", "");
for($i = 0; $i < count($f); $i++)
{
echo("<a href=\"" . $f[$i] . "\">" . $f[$i] . "</a> - " . getFileSize($f[$i]) . "kB<br>");
}

?>


einfach in eine Datei Namens index.php kopieren und in den selben Ordner einfügen.

mfg Kinman

darph
2006-06-01, 11:15:59
Damit ein beliebiges Verzeichnis erreichbar ist, das außerhalb deines htdocs liegt, wirst du, sofern du den Apache nutzt, das hier in deine .conf Datei kopieren müssen:

Alias /local/ "C:/local/"
<Directory "C:/local/">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from All
DirectoryIndex index.htm index.html index.php
</Directory>

Erreichbar ist das Ganze dann unter http://deine.ip/local/ (#)

Beachte den Slash am Ende. Wird er weggelassen, geht es nicht.

Oh, und den Indianer neu starten. apache.exe -k restart