わかりました、スクリプトで適切なファイル名のファイルをダウンロードする際に問題が発生しているようです。
このようにスペースとダッシュを取り除くと
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ファイルとして保存します。
何が間違っているのかよくわかりません