Safari:当我单击“另存为”时,文件名没有出现

时间:2018-11-27 16:32:34

标签: php safari

我网站的用户可以下载文件。

示例:

<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”作为文件名?

1 个答案:

答案 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脚本。