好的,我似乎在让我的脚本下载具有正确文件名的文件时遇到问题。
如果我去掉看起来像这样的空格和破折号
if($type == 'mc'){
$file_name = $_POST['Ids'];
$file_name = str_replace('-', '', $file_name);
$file_name = str_replace(' ', '&', $file_name);
$url = base64_decode($stream);
$file_url = "scd.php?stream=".$url."&name=".$file_name."";
$url = array('url' => $file_url);
echo json_encode($url);
}
这是scd.php
<?php
$file = $_GET['stream'];
$name = $_GET['name'];
header("Content-type: application/x-file-to-save");
header("Content-Disposition: attachment; filename=".$name.".mp3");
readfile($file);
exit();
?>
它将强制下载,但只会保存发送名称中的第一个单词。所以说名称是Your Song Here
它想将它保存为Your.mp3
但如果我str_replace
从$file_name
变量中删除它然后它将尝试将文件保存为Your
没有扩展名但仍然只有第一个单词。
我需要它来传递整个$file_name
变量 ex。Your Song Here.mp3
并仍将其保存为 MP3 文件。
我不太确定我做错了什么