我网站的用户可以下载文件。
示例:
<a href="download.php?path=files/videos/myvideo.avi">My Video</a>
我的问题:在Safari中,当用户单击“另存为”时,建议的文件名不是“ myvideo.avi”,而是“ download.php”。例如,在Chrome中不会发生此问题。
要下载的PHP代码(download.php):
$path = $_GET['path'];
$doctype = end(explode('.', $path));
$dateiname = end(explode('/', $path));
header("Content-type: application/" . $doctype);
header("Content-disposition: attachment; filename=\"" . $dateiname . "\"");
header("Content-Length: " . filesize($path));
$fp = fopen($path, 'rb');
fpassthru($fp);
如何在Safari中单击“另存为”时建议将“ myvideo.avi”作为文件名?
答案 0 :(得分:0)
问题可能出在以下事实上:按照书面规定,“ download.php”中的脚本没有机会在页面加载时触发。我认为您需要在页面上执行一些实际的PHP代码以获取正确的链接。
<a href="<?php **CODE THAT RETURNS CORRECT PATH** ?>">My Video</a>
或替代
<?php **CODE THAT GENERATES STRING OF CORRECT PATH**
echo "<a href='".$filepath."'>My Video</a>";
?>
这将确保无论使用哪种浏览器,都将运行.php脚本。