我有一個鏈接指向我的網站上的音樂文件,現在文件的名稱在上傳時被哈希,所以我想使用原來的文件名,我已經存儲在我的數據庫中,我做了一些研究,發現了'a'標籤的這個新的「下載」屬性,但只適用於Firefox的更高版本和Chrome,它不適用於ie,也不適用於我使用的下載管理器所以我在網上查了一下,發現了關於我然後實施的標題。現在我將文件名改爲好了,但是無論我嘗試下載的音樂文件如何,音樂文件都會保存爲'.35kb'文件大小。這是我的代碼:在PHP中使用頭文件重命名下載文件
if (isset($_REQUEST['download']))
{
$download_id = $_REQUEST['download'];
$db = new MysqliDatabase(ConnectionString);
$result = array();
$result = $db->query_one("SELECT TrackID, ma.ArtisteName, FeaturedArtistes,
mc.Category, TrackName
FROM `musictracks` mt
LEFT JOIN `musiccategories` mc
ON mt.CategoryID = mc.CategoryID
LEFT JOIN `musicartistes` ma
ON mt.ArtisteID = ma.ArtisteID
WHERE mt.TrackID = '$download_id';");
$filename = $result->TrackPath;
$outputfilename = $result->ArtisteName . ' ft. ' . $result->FeaturedArtistes . ' - ' . $result->TrackName . '.mp3';
header("Content-Type: audio/mpeg");
header("Content-Disposition: attachment; filename=\"" . basename($outputfilename) . "\";");
header("Content-Transfer-Encoding: binary");
readfile("$filename");
}
這是下載鏈接:
<a href="<?php echo 'musicdownload.php?download='. $row->TrackID ?>" ><img src="images/download.png" alt="download" title="download" width="14" height="14" /></a>
11.35kb文件包含什麼? –
把一些mp3文件放在服務器上,並嘗試直接下載 - 也許有服務器的問題。並檢查你的'$文件名' - 也許這不是你所期望的。 – furas
它被保存爲音樂文件,但當我嘗試播放它不起作用。 –