0

对不起我的英语不好..

我又来给你一些问题了!

我使用下面的代码行:

$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!

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

例如: 蕾哈娜和阿肯

.. 总是给我保存名为Rihanna的文件.. Corect 是Rihanna 和 Akon,但是 amp 字符停止显示并且Akon

我尝试了许多不同的方法,但总是失败..

为了更好地解释,该脚本是一个 php 下载文件。当我点击下载Rihanna & Akon时,显示提示下载框!在下载框中只显示蕾哈娜,但如果在蕾哈娜之后包含&字符,则永远不会和Akon

希望能理解一些东西!

先感谢您 !!干杯!

4

2 回答 2

0

上面代码示例的编码将是

header("Content-Disposition: attachment; filename=\"(wanted-web.ro) "
  .urlencode($name). ".mp3\"");
于 2013-02-26T17:34:19.130 回答
0

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

$name = urlencode($_GET['name']);
于 2013-02-26T17:31:48.533 回答