1

我已经在上传文件夹中上传了一个带有 php 的 .mp4 文件。现在我用下载链接下载它。它在 Safari 浏览器的 Windows 系统上正确下载。但在 mac 系统上,视频文件正在使用 quicktime pro 播放器播放。虽然我只是想下载它。但它默认播放。这是仅在 safari 浏览器上的问题。有什么办法可以改变这一点。因此默认情况下它不会与 quicktime pro player 一起播放。

4

2 回答 2

1

可能是因为您只是链接到该文件,因此如果用户的计算机有软件来处理它,它将选择默认运行它(假设用户的计算机以这种方式设置)。

如果您使用正确的标题,您可以强制浏览器显示下载对话框提示:

 header("Cache-Control: public");
 header("Content-Description: File Transfer");
 header("Content-Disposition: attachment; filename=$file");
 header("Content-Type: video/mpeg");
 header("Content-Transfer-Encoding: binary");
于 2012-05-22T11:46:27.700 回答
0

请使用以下代码,

    if (file_exists($file)) {
        header('Pragma: public');   // required
        header('Expires: 0');    // no cache
        header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
        header('Last-Modified: '.gmdate ('D, d M Y H:i:s', filemtime ($file)).' GMT');
        header('Cache-Control: private',false);
        header('Content-Type: octet/stream');
        header('Content-Disposition: attachment; filename="'.basename($file).'"');
        header('Content-Transfer-Encoding: binary');
        header('Content-Length: '.filesize($file));  // provide file size
        header('Connection: close');
        readfile($file);    // push it out
        exit();
    }
于 2012-05-22T11:48:03.177 回答