要读取目录内容,可以使用readdir()并使用脚本(在我的示例中download.PHP
)来下载文件
if ($handle = opendir('/path/to/your/dir/')) {
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != "..") {
echo "<a href='download.PHP?file=".$entry."'>".$entry."</a>\n";
}
}
closedir($handle);
}
在其中,download.PHP
您可以强制浏览器发送下载数据,并使用basename()来确保客户端不会传递其他文件名,例如../config.PHP
$file = basename($_GET['file']);
$file = '/path/to/your/dir/'.$file;
if(!file_exists($file)){ // file does not exist
die('file not found');
} else {
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$file");
header("Content-Type: application/zip");
header("Content-@R_746_301@: binary");
// read the file from disk
readfile($file);
}