I have a link pointing to a music file on my site, now the file name was hashed when it was uploaded, so I want to use the original file name that I saved in my database, I did some research and found this new attribute " loading "for the tag" a ", but it only works in later versions of firefox and chrome, it does not work in ie, and also does not work with the download manager that I use, so I checked online and found out about the headers that I then implemented . Now I got the file name, but the music file continues to be saved as "11.35kb", no matter what music file I try to download. This is my code:
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"); }
And this is the download link:
<a href="<?php echo 'musicdownload.php?download='. $row->TrackID ?>" ><img src="images/download.png" alt="download" title="download" width="14" height="14" /></a>
Blank edjok
source share