我有一個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