我创建了一个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文件。
答案 0 :(得分:1)
使用内容类型 - application / exe而不是application / octet-stream&amp;它适用于所有类型的文件下载