2

重複の可能性:
php、ファイルのダウンロード

Web ルートにないファイルをダウンロードできるようにする必要があります。そのため、以下を使用して要求されたファイルをダウンロードするスクリプトがあります。問題は、ダウンロードしたすべてのファイルが破損していることです。FTPを使用してダウンロードするとファイルが開くので、ファイルは問題ありません。渡されるヘッダーは次のとおりです。

header($_SERVER["SERVER_PROTOCOL"] . " 200 OK");
        header("Cache-Control: public"); // needed for i.e.
        header("Content-Type: " . $download[0]['mime']);
        header("Content-Disposition: attachment; filename=" .$download_file);
        header("Content-Transfer-Encoding: Binary");
        header("Content-Length:".filesize($attachment_location));

        readfile($attachment_location);
4

1 に答える 1

11

これに使用されるヘッダーの例を次に示します:
http://php.net/manual/en/function.readfile.php

    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));
于 2012-11-22T13:10:24.837 に答える