- ベストアンサー
【PHP】ダウンロードサイト作成中!zip開けない
- PHPで作成したダウンロードサイトで、ZIPファイルが開けない問題について質問です。
- ダウンロードサイト作成中のプログラムで、ダウンロードしたZIPファイルをクリックすると、文字コードを選択するダイヤログが出てきますが、開けません。解決策を教えてください。
- ダウンロードサイトのプログラムで、ファイルの文字コードを変換する処理がありますが、その処理が問題の原因かもしれません。解決方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>「圧縮(zip形式)が無効であるか、または壊れています」 >とメッセージがでます。 ほぉ・・・ >basename($filename) ということはZIPファイルはPHPで圧縮したのではもともとZIPとして おいてあるということで間違いないですね? もちろん $content_length = filesize($filename); はしていますよね? ちなみにもともとアップされているファイルと、ダウンロード してきたファイルのサイズに差異はないでしょうか?
その他の回答 (2)
- yambejp
- ベストアンサー率51% (3827/7415)
うーん・・・ 単純に拡張子が.ZIPになっていないとかじゃないでしょうか? PHPのカテゴリーでの質問とのことですから プログラムでZIPを吐き出しているのですかね? であればきちんとhttpヘッダーはつけていますか? たとえばこんな感じ・・・ header("Content-type: application/octet-stream"); header("Content-Disposition: attachment; filename=\"download.zip\"");
補足
またまた迅速なご返答ありがとうございます。 zipで吐き出しています。 ヘッダーは下記のように設定済みです。 header("Content-Disposition: attachment; filename=\"".basename($filename)."\""); header("Content-Length: ".$content_length); header("Content-Type: application/octet-stream"); header('Content-Transfer-Encoding: binary'); ご質問の件、試してみましたがZIPで吐き出されていることは確かでした。。 そこでまた質問なのですが、 ZIPファイルを「プログラムから開く→フォルダを指定する」 と、 「圧縮(zip形式)が無効であるか、または壊れています」 とメッセージがでます。 これはプログラムの問題でしょうか? 私のPCの問題なのでしょうか? 初歩的な質問で申し訳ありません。 よろしくお願いします。
- yambejp
- ベストアンサー率51% (3827/7415)
必要な情報がまったく伝わってこないのですが・・・ もうすこし仕様をきちんと説明してください (1)自サイトにZIPがおいてある? (2)そのZIPの中身はテキストファイル? (3)それをクライアントPCにダウンロードさせる? >ダウンロードしたファイルをクリックすると、 >「テキストファイル処理の確認」という、 ZIPファイルをクリックしてこのエラーがでるということですか? ZIPの解凍をした上で、中身を開いたらどうなりますか? それとも解凍ができないということ?
補足
迅速な対応ありがとうございます! (1)自サイトにZIPがおいてある? ★はい (2)そのZIPの中身はテキストファイル? ★テキストファイルもあります。他にもいろいろ。 (3)それをクライアントPCにダウンロードさせる? ★そうです。クリックしたら自動的にダウンロードしたいです。 ZIPファイルをクリックしてこのエラーがでるということですか? ★そうです。 ZIPの解凍をした上で、中身を開いたらどうなりますか? それとも解凍ができないということ? ★デスクトップにダウンロードして開くと、解答しようとすると、テキストファイル処理の確認がでてきて、・・・・・・・zip.bakの形式になり、デスクトップにもうひとつファイルができます。 ご丁寧にありがとうございます。 よろしくお願いします。
補足
ということはZIPファイルはPHPで圧縮したのではもともとZIPとして おいてあるということで間違いないですね? ★そうです。ですが、リネームしてます。 もちろん $content_length = filesize($filename); はしていますよね? ★追加してみましたが、ダメでした。 ちなみにもともとアップされているファイルと、ダウンロード してきたファイルのサイズに差異はないでしょうか? ★差異がありました。 お手数おかけしますが、よろしくお願いします。