通过download.php脚本获取download.mp3或download.php文件而不是TMH.mp3文件

时间:2013-09-15 07:24:19

标签: php html5

我创建了一个download.php文件

include('../../../phpsqlconnect.php');<br/>
$sel = mysqli_select_db($link, 'download');<br/>
$id=$_GET['id'];

if(is_numeric($id)){<br/>
$result = mysqli_query($link, 'SELECT * FROM song WHERE id=$id');<br/>
$row = mysqli_fetch_assoc($result); <br/>
$url = $row['url']; // of course find the exact filename....<br/>
$name = $row['name'];        <br/>
header( 'Pragma: public' ); // required<br/>
header( 'Expires: 0' );<br/>
header( 'Cache-Control: must-revalidate, post-check=0, pre-check=0' );<br/>
header( 'Cache-Control: private', false ); // required for certain browsers<br/> 
header( 'Content-Type: application/octet-stream' );<br/>

header( 'Content-Disposition: attachment; filename="'. basename($url) . '";' );<br/>
header( 'Content-Transfer-Encoding: binary' );<br/>
header( 'Content-Length: ' . filesize( $url ) );<br/>

readfile( $name );<br/>

exit;

}

此download.php位于歌曲文件夹&amp;在歌曲文件夹中我有ppnh13文件夹,其中有ppnh.php文件 我有一个下载数据库&amp;里面的歌曲表。
表曲有4行作为id,url,name,movie ...
在$ row ['url']中,我的文件位置为ppnh13 \ TMH.mp3
在$ row ['name']中,我的文件名为TMH

当我打开链接< href="../download.php?id=1">TMH</> from ppnh.php file<br/>时 我得到一个download.mp3或download.php文件而不是TMH.mp3文件

我想为文件夹歌曲中的所有文件夹制作一个通用的download.php文件。

1 个答案:

答案 0 :(得分:1)

使用内容类型 - application / exe而不是application / octet-stream&amp;它适用于所有类型的文件下载