Ho un collegamento che punta a un file musicale sul mio sito, ora il nome del file è stato sottoposto a hashing al momento del caricamento, quindi desidero utilizzare il nome file originale che ho memorizzato nel mio database , Ho fatto qualche ricerca e ho trovato questo nuovo attributo 'download' per il tag 'a' ma funziona solo nelle versioni successive di firefox e chrome, non funziona in ie e inoltre non funziona con il download manager che utilizzo così ho controllato online e ho scoperto le intestazioni che ho poi implementato. Ora il nome file è cambiato, ma il file musicale continua a essere salvato come file '11 .35kb ', indipendentemente dal file musicale che provo a scaricare. Questo è il mio codice:Ridenominazione del file di download utilizzando l'intestazione in 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");
}
E questo è il link per il download:
<a href="<?php echo 'musicdownload.php?download='. $row->TrackID ?>" ><img src="images/download.png" alt="download" title="download" width="14" height="14" /></a>
Che cosa contiene il file 11.35kb? –
Metti un file mp3 sul server e prova a scaricarlo direttamente - forse c'è qualche problema con il server. E controlla il tuo '$ nomefile' - forse non è quello che ti aspetti. – furas
Viene salvato come file musicale ma quando provo a riprodurlo non funziona. –