我有一个 PHP 脚本,它推送标题以允许下载文件。此脚本在通过超链接或通过使用链接的浏览器调用时可以正常工作。这是它的样子:
<a href="download.php?file=test.mp3&properFilename=Testing File">Download</a>
我希望这是一个按钮(sbumit),所以我这样做了:
<form action="download.php?file=test.mp3&properFilename=Testing File" method="get">
<input type="submit" value="Download Audio" name="download"/>
</form>
但是,这不起作用。当我点击它时。它会启动下载对话框,但文件名是空的。它将文件名显示为“.mp3”(不带引号)!通过超链接的相同链接显示了确切的文件名“测试文件”。为什么是这样??以下是相关的 PHP 代码段:
$filename = '../'.$_GET['file'];
$properFilename = $_GET['properFilename'].'.mp3';
header("Content-Disposition: attachment; filename=\"".basename($properFilename)."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($filename));
readfile("$filename");
exit();
谢谢你的帮助。这让我一整天都在发疯!!!