0

我使用 php 强制下载任何文件,这是我的代码


索引.php

<a href="download.php?file_name=example.png"><button class="details_button_T">Télécharger</button></a>

下载.php

$file= $_GET['file_name'];
if (file_exists($file)) {
        header('Content-Description: File Transfer');
        header('Content-Type: application/octet-stream');
        header('Content-Disposition: attachment; filename='.basename($file));
        header('Content-Transfer-Encoding: binary');
        header('Expires: 0');
        header('Cache-Control: must-revalidate');
        header('Pragma: public');
        header('Content-Length: ' . filesize($file));
        ob_clean();
        flush();
        readfile($file);
        exit();
    }

该代码适用于所有浏览器,只有chrome显示错误:服务器发送的双标头

4

2 回答 2

2

解决 了它的一个小错误

header('Content-Disposition: attachment; filename="'.basename($file).'"');
于 2013-09-05T12:22:19.707 回答
0

确保属性 filename="NAME.xxx" 必须具有 doble cutes 非常重要。在标题内。

于 2016-01-05T20:32:37.163 回答