Du gehst doch mindestens 5 Umwege zuviel....
Dieses sollte reichen...
Dieses sollte reichen...
PHP-Code:
<?php
error_reporting(E_ALL);
ini_set('display_errors', TRUE); // evtl. hilfreich
session_start();
$dateisuchfilter = './rar/*.rar';
function send_file($name)
{
header("Content-Type: application/rar");
header("Content-Length: ".filesize($name));
header('Content-Disposition: attachment; filename="'.basename($name).'"');
readfile($name);
// update_download_counter($name);
exit; // was anderes macht keinen Sinn mehr
}
function list_all($filter)
{
$_SESSION['rars'] = glob($filter);
foreach($_SESSION['rars'] as $id => $file)
{
$url = $_SERVER['SCRIPT_NAME'].'?what='.$id;
$name = sprintf('%04d: %s',$id,basename($file));
echo "<a href='$url'>$name</a><br />";
}
}
if (isset($_GET['what']) && isset($_SESSION['rars'][$_GET['what']]))
send_file($_SESSION['rars'][$_GET['what']]);
else list_all($dateisuchfilter);
?>
Kommentar