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

Posted

技术标签:

【中文标题】如何使用 PHP 在移动设备上强制下载音频 mp3【英文标题】:How to force audio mp3 download on mobile using PHP 【发布时间】:2020-11-18 12:02:09 【问题描述】:

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

我尝试在我的 .htaccess 文件中使用 MIME 类型“AddType audio/mpeg .mp3”没有效果。直接下载在台式机上运行良好,但在移动设备上却不行 - 它总是重定向到默认的 Wordpress 播放器进行下载,而不是在单击链接后才下载。

我已经搜索了各种解决方案,这是我得到的壁橱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;

【问题讨论】:

【参考方案1】:

这些文件由另一个域上的另一个提供商托管。除非它们托管在 AWS 等平台上,否则您无能为力,您可以在其中创建自己的存储桶并将其链接到您的域。这很昂贵。

Podbean 建议我将播客 URL 中的“网络”更改为“下载”。我使用了 Find and Replace All Wordpress 插件,它会自动将它们全部更改。只需确保您搜索要更改的单词,这样您就不会替换数据库中其他地方的常见单词,例如“web”。

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

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

【讨论】:

以上是关于如何使用 PHP 在移动设备上强制下载音频 mp3的主要内容,如果未能解决你的问题,请参考以下文章

如何使用php播放存储在mysql blob中的mp3音频

移动设备上的 HTML5 base64 编码音频

实时音频流到移动设备 - 动态播放速度

ViWizard Music Converter for Mac如何将音乐转换为 MP3?

iOS 9 无法播放下载到设备的音频/视频文件

如何将音频文件转为base64 编码