0

ダウンロードしたファイルを追跡するドキュメント ダウンロード サイトがあります。

私の問題は、使用しているスクリプトを使用して zip ファイルをダウンロードすることです。他のすべてのファイルは、zip ファイルとは別に強制的にダウンロードされます。zip ファイルがプッシュされると、ファイルがプッシュされずにスクリプトが存在する download.php ページに移動します。

          ob_start();
    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, post-check=0, pre-check=0');
          header('Pragma: public');
          header('Content-Length: ' . filesize($file));
    ob_clean();
          flush();
          readfile($file);
          exit;
4

3 に答える 3

0

これは私のために働くコードスニペットです:

if (strstr($_SERVER['HTTP_USER_AGENT'], "MSIE")) {
    header('Content-Type: "application/octet-stream"');
    header('Content-Disposition: attachment; filename="'.basename($file_url).'"');
    header('Expires: 0');
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header("Content-Transfer-Encoding: binary");
    header('Pragma: public');
    header("Content-Length: ".filesize($file_url));
} else {
    header('Content-Type: "application/octet-stream"');
    header('Content-Disposition: attachment; filename="'.basename($file_url).'"');
    header("Content-Transfer-Encoding: binary");
    header('Expires: 0');
    header('Pragma: no-cache');
    header("Content-Length: ".filesize($file_url));
}
readfile($file_url);
于 2012-05-08T14:51:04.597 に答える
0

同様の問題がありましたが、この引用はその時に役立ちました:

header('Content-Disposition: attachment; filename="'.basename($file).'"');
于 2012-05-08T14:51:37.897 に答える
0

base_nameコンテンツの配置と長さに を使用していませんでした。代わりにフル パスを使用しました。使用するbase_nameとうまくいきました。

于 2012-08-22T11:06:57.110 に答える