我有一个用户可以从中下载特定文件的按钮。每次我必须处理文件的名称并将其放入变量之后再将其提供给readfile函数以便将其提供给用户。但是,在许多情况下,文件名很长,可能会随着时间的推移而发生变化,因此将来可能会出现错误。所以我想知道是否可以简单地传递像/filedirectory/*.pdf这样的东西,或者只指定部分名称,其余可以是任何东西,然后将其传递给readfile以下载pdf,就像在下面的示例中那样?
if(isset($_POST["submit"]))
{
// We'll be outputting a PDF
header('Content-type: application/pdf');
// It will be called downloaded.pdf
header('Content-Disposition: attachment; filename="download.pdf"');
// Whatever name the pdf has
readfile('./filedirectory/*.pdf');
#OR
// File starts with 123..
readfile('./filedirectory/123*.pdf');
}
答案 0 :(得分:1)
您可以使用glob列出所有PDF文件,然后您可以选择您想要的名称并将其读取。
实施例
<?php
foreach (glob("*.pdf") as $filename) {
// Do something with the $filename
}
?>
答案 1 :(得分:0)
您可以使用scandir()(http://php.net/manual/en/function.scandir.php)获取/ filedirectory中的文件列表,并找出文件名可能是什么。