我需要这个脚本的帮助。我有这个名为download.php的php脚本。我要做的是,我想让我的所有下载链接到这个页面,即我想让它变得动态。此外,当我点击链接时,它实际上播放MP3而不是为用户显示“另存为”。
1)请问如何使脚本动态化,以便此脚本适用于我的所有下载。
2)如何下载而不是播放/显示文件。
谢谢
<?php
$filename = 'download.mp3';
header('Pragma: public');
header('Expires: 0');
header('Cache-Control:must-revalidate, post-check=0,pre-check=0');
header('Cache-Control:private', false);
header('Content-Type:audio/mp3');
header('Content-Disposition: attachment;filename="'.basename ($filename).'";');
header('Content-Transfer-Encoding: binary');
header('Content-Length:'.filesize( $filename));
readfile($filename);
exit;
?>
HTML
======
< a href="download.php"> MP3 </a>
答案 0 :(得分:0)
让我们一步一步来。
1)使脚本动态化很容易。有两种方法:
a)使文件名出现在$ _GET中。例如:
$file = $_GET['file'];
链接可以是
<a href="download.php?file=somefile.mp3">Download</a>
b)将文件数据存储在数据库中。数据库可能类似于id|filename|filesize|filetype
,你可以说download.php?id=##
,当调用id#时,它会将文件名发送到页面并下载文件。
2)自动下载文件。简单!
header("Content-Type: application/force-download");
用这个替换你的内容类型,你应该是金色的。强制下载不需要文件类型,他们只知道他们需要下载,现在!
希望这有助于=)