抱歉我的英语不好..
我再次遇到一些问题!
我使用了以下代码行:
$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!
我的问题是: 当我下载一些包含& 字符的文件时,不要在该字符后显示其余的信息!!
例如: 蕾哈娜&阿肯
.. Allways保存名为 Rihanna 的文件。 Corect是 Rihanna& Akon ,但放大器字符停止显示和 Akon
我尝试了很多不同的方法,但总是失败..
为了更好的解释,该脚本是一个php下载文件.. 当我点击下载 Rihanna& Akon ,给我看一下提示下载框! 在下载框中只显示 Rihanna ,但是 Rihanna 之后如果包含& 字符,则永远不会和 Akon >
希望了解一些事情!
提前谢谢!! 干杯!
答案 0 :(得分:0)
尝试urlencode
文件名,如下所示:
$name = urlencode($_GET['name']);
答案 1 :(得分:0)
编码将是
header("Content-Disposition: attachment; filename=\"(wanted-web.ro) "
.urlencode($name). ".mp3\"");