我有一个PHP脚本,它推送标题以允许文件下载。该脚本在通过超链接或通过浏览器使用链接进行调用时工作正常。这是它的样子:超链接作品 - 带提交按钮的Html表单不包含
<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();
感谢您的帮助。这一直使我整日都在发狂!
好的,我会按照你的建议尝试。中间解决方案:onclick - 我试过了,但它一直带我到另一个窗口/选项卡。我需要留在当前窗口/选项卡 - 它会像那样工作吗?非常感谢您的回复。 – Abs 2009-01-10 05:29:58