PHP - 从Intranet站点下载的Excel文件列表?

Joh*_*n M 1 php file download

我有一个运行PHP 5的Intranet站点,需要列出一个只包含Excel文件的文件夹.

理想情况下,用户需要能够输入一些搜索条件(即日期),文件将被过滤成超链接列表.然后可以选择这些超链接以下载excel文件.

到目前为止我所拥有的是:

//get search parameters (from a form)
$s_Date = $_GET['s_Date'];
$s_Shift = $_GET['s_Shift'];
$s_Name = $_GET['s_Name'];

//search folder
foreach(glob("c:\folderA\folderB\*".$s_Date."*".$s_Shift."*".$s_Name."*.*") as     $FileName)
{
    echo basename($FileName);
    echo"<a href=?myad=".basename($FileName)."/>Download</a>"."<br />";
}
Run Code Online (Sandbox Code Playgroud)

这将返回文件列表,但选择超链接不会提示下载.

如何获取超链接以强制使用内容类型的msexcel?

jhe*_*ngs 5

假设您使用PHP脚本来传递文件conent,脚本需要设置Content-Type标头:

<?
    header('Content-Type: application/excel');
    header('Content-Disposition: attachment;filename=myfile.xls');
    // send file content
?>
Run Code Online (Sandbox Code Playgroud)

请注意,您还可以使用Content-Disposition标题设置要用于文件的名称.

您可能还需要考虑一个<a>指向下载脚本的格式更好的标记:

echo '<a href="dl.php?myad=' .urlencode(basename($FileName)). '">Download</a><br />';
Run Code Online (Sandbox Code Playgroud)

在此示例中,您需要替换dl.php为实际脚本.