从服务器php下载文件

我有一个URL,用于保存我的工作中的一些项目,它们大部分是MDB文件,但也有一些JPG和PDF。

我需要做的是列出该目录中的每个文件(已完成)并为用户提供下载它的选项。

使用PHP如何实现?

回答:

要读取目录内容,可以使用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-Transfer-Encoding: binary");

// read the file from disk

readfile($file);

}

以上是 从服务器php下载文件 的全部内容, 来源链接: utcz.com/qa/431405.html

回到顶部