标头内容处置允许&;amp字符


Header content disposition allow &amp character

很抱歉我的英语不好。。

我又带着一些问题来找你了!

我使用下面的代码行:

$link = $_GET['url'];
$name = $_GET['name'];
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: private");
header("Content-Disposition: attachment; filename='"(wanted-web.ro) $name.mp3'"");
header("Content-type: audio/mpeg;'r'n");
readfile(str_replace(' ', '_', $link));

该代码用于从外部服务器下载直接链接.mp3!

我的问题是:当我下载一些包含& 字符,不要在该字符之后显示其余信息!!

例如:蕾哈娜;Akon

所有方法都会保存名为Rihanna的文件。。核心是蕾哈娜;Akon,但amp字符停止显示,并且Akon

我试过很多不同的方法,但都失败了。。

为了更好地解释,该脚本是一个php下载文件。。当我点击下载蕾哈娜&Akon,显示提示下载框!在下载框中只显示Rihanna,但从不显示,如果包含& 角色后Rihanna

希望能有所了解!

提前感谢!!干杯

尝试urlencode文件名,如下所示:

$name = urlencode($_GET['name']);

上面代码示例的编码将是

header("Content-Disposition: attachment; filename='"(wanted-web.ro) "
  .urlencode($name). ".mp3'"");