0

ユーザーがアップロードした写真をzipファイルに追加してみました。そのため、そのユーザーはこのファイルをダウンロードできます。問題は、このzipファイルをダウンロードすると、(予想どおり)多くのファイル名が含まれていることです。しかし、このzipを開くと、「C:.... ata \ Local \ Temp \ my_photo.zip:予期しないアーカイブの終わり」というエラーが表示されます</ p>

各画像にはサイズがありますが、CRC32は00000000です。コードは次のとおりです。

 $this->load->library('zip');
 $this->zip->clear_data();
 foreach ($row as $ar){
    $file_relative_path = $ar->filepath;               
     if(file_exists($file_relative_path)){
           $this->zip->add_data($this->_getFileName($file_relative_path),file_get_contents($file_relative_path));
     }
}
$this->zip->download('my_photo.zip');  
4

1 に答える 1

0

最後の行の直前にこれを追加してみてください:

$this->zip->archive('my_photo.zip');

ドキュメントでこれを見つけました。

これは時々うまくいくかもしれないと思いますが、おそらくあなたのケースではヘッダーが送信されているので、アーカイブメソッドを使用する必要があります.

于 2012-08-29T23:06:55.160 に答える