我希望允许站点用户轻松下载我们在远程托管服务上拥有的文件(音频)。
我们有指向这些文件的 URL。这些文件与主站点不在同一站点或服务器上。
目前,我们有指向这些文件的链接,以及一些指示站点用户必须右键单击并选择“文件另存为”才能将这些文件下载到本地计算机的文本。
为了使这对用户更加友好,如果站点用户只需单击一个链接并拥有一个可以下载文件的脚本,那就更好了。
这可能吗?
对此进行研究后,有许多关于在同一服务器上下载文件或将 URL 下载到您的服务器的在线示例和 SO 问题。
这不是我们在这里想要做的。我们不想将这些文件中的任何一个从远程托管服务复制到主 Web 服务器。
这是供站点用户单击链接并让远程 URL 将文件直接下载到用户本地计算机而不是服务器。
您可以使用以下 PHP 实现此目的:
$file_name = $_GET['filename'];
$file_url = 'http://path_to_audio_folder.com/' . $file_name;
header('Content-Type: application/octet-stream');
header("Content-Transfer-Encoding: Binary");
header("Content-disposition: attachment; filename=\"".$file_name."\"");
readfile($file_url);
exit;
Run Code Online (Sandbox Code Playgroud)
然后你可以从你的脚本中调用它,比如:download.php?filename=my_song.mp3它会被强制下载给你的访问者点击它。
| 归档时间: |
|
| 查看次数: |
10853 次 |
| 最近记录: |