Hier ist eine einfachere Lösung, um alle Dateien in einem Verzeichnis aufgelistet und es herunterladen.
In der index.php
<?php
$dir = "./";
$allFiles = scandir($dir);
$files = array_diff($allFiles, array('.', '..')); // To remove . and ..
foreach($files as $file){
echo "<a href='download.php?file=".$file."'>".$file."</a><br>";
}
Die scandir() Funktionsliste alle Dateien und Verzeichnisse im angegebenen Pfad. Es arbeitet mit PHP 5 und PHP 7.
Jetzt im download.php
<?php
$filename = basename($_GET['file']);
// Specify file path.
$path = ''; // '/uplods/'
$download_file = $path.$filename;
if(!empty($filename)){
// Check file is exists on given path.
if(file_exists($download_file))
{
header('Content-Disposition: attachment; filename=' . $filename);
readfile($download_file);
exit;
}
else
{
echo 'File does not exists on given path';
}
}
Ist das nicht durch den Browser behandelt? – SomeKittens
aber wie bekomme ich den Browser den Download zu starten? –
Einen Link zu der Datei bereitstellen? – Nick