-2

我创建了一个 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在歌曲文件夹中,在歌曲文件夹中我有ppnh13文件夹,里面有ppnh.php文件
我有一个下载数据库和歌曲表。
表歌曲在 $row['url'] 中有 4 行作为 id,url,name,movie...
,我的文件位置为
$row['name'] 中的 ppnh13\TMH.mp3,我有我的文件名作为TMH

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

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

4

1 回答 1

1

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

于 2013-09-15T07:35:26.373 回答