0
私は、PHPを使用してzipファイルをダウンロードしようとしています。ダウンロードはうまく動作しますが、解凍時に無効なファイルと表示されます。私を助けて、私の次のコードを確認してください:問題の上にphpを使ってzipファイルをダウンロードした後、「無効なファイル」エラーを修正するには?
apache_setenv('no-gzip', 1);
ini_set('zlib.output_compression', 0);
$filename = "sliced Images.zip";
$upload_dir = wp_upload_dir();
$filepath = $upload_dir['basedir'];
//echo $filepath.'/'.$filename;
//echo filesize($filepath.'/'.$filename);
//die;
// http headers for zip downloads
ob_start();
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Type: application/zip");
header("Content-Transfer-Encoding: Binary");
header("Content-Disposition: attachment; filename=\"".$filename."\"");
header("Content-Length: ".filesize($filepath.'/'.$filename));
ob_end_flush();
@readfile($filepath.'/'.$filename);
(1)なぜあなたは 'readfile'と(に警告を抑制しています2)スクリプトが完了したら、出力に何も書き込まないでください。ただ終了させてください。 'exit'を使用する場合は、パラメータなしでそれを使用してください。 – apokryfos
ダウンロード時にファイルの長さは0ですか? '@'エラーサプレッサーを削除するとエラー/警告が出ますか? –
exitを削除してもまだ動作しません。 – Addy