如何使用 PHP 在移动设备上强制下载音频 mp3

How to force audio mp3 download on mobile using PHP

我正在尝试寻找一种解决方案,使用 PHP 在移动设备上强制下载音频文件。

我尝试在我的 .htaccess 文件中使用 MIME 类型 'AddType audio/mpeg .mp3' 但没有效果。直接下载在桌面上运行良好,但在移动设备上运行不佳 - 它总是重定向到默认的 Wordpress 播放器进行下载,而不是仅在单击 link.

后下载

我搜索了各种解决方案,这是我得到的壁橱Forcing to download a file using PHP

我的文件托管在我的域之外。这是我正在使用的 PHP 文件,但它不起作用。

$file_name = 'file.mp3';
$file_url = 'https://mcdn.podbean.com/mf/web/' . $file_name;
header('Content-Type: audio/mpeg');
header("Content-Transfer-Encoding: Binary"); 
header("Content-disposition: attachment; filename="my-file.mp3"); 
readfile($file_url);
exit;

这些文件由另一个域中的另一个提供商托管。除非它们托管在像 AWS 这样的平台上,否则您可以做任何事情都不会强制直接下载,您可以在其中创建自己的存储桶并将其 link 到您的域。太贵了。

Podbean 建议我将播客 URL 中的“网络”更改为“下载”。我使用了查找和替换所有 Wordpress 插件,它会自动更改所有内容。只需确保搜索要更改的词的任何收益,这样就不会替换数据库中其他地方的常见词,如“web”。

在进行大量更改之前始终备份您的数据库。

超过 800 集,清除缓存后完美运行。