スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PHPでアップロードした圧縮ファイルが破損(CRCエラー)してしまう場合

  • 2012/04/05 17:22
  • Category: PHP
ああ~また3時間あまりはまった。もうこういうのイヤ。でも解決したときちょっと気持ちいい。PHPで(今回はCakePHP配下で)ファイルアップロードを作っていたが、CSVとかのファイルはうまくいっていたのに、圧縮ファイル(ZIP)をアップロードするとうまくいかない。$_FILESにもエラーはなく、move_uploaded_fileもきちんと働き、所定の場所にファイルができる。でもダウンロードすると解凍できず「CRCエラー」と怒られる。ほにゃ?ということでphp.iniやらhttpd.confやらAddTypeやらいろんなキーワードをネットで発見するものの、同一事例の報告がなく、はまりにはまりました。

PHPで圧縮ファイルのアップロードを扱うとき、move_uploaded_fileを利用する場合は、移動先として指定するパスのファイル名は「当該圧縮ファイルの正しい拡張子」である必要があるらしい。例えばzipのアップロードならhogehoge.zipでなければならない。拡張子なし(今回はこれだった)とか、.tmpとかだとうまく行かないことがあるということでどっとはらい。

Pagination

Trackback

Trackback URL

http://muurimemo.blog.fc2.com/tb.php/25-34a1f91f

Comment

Post Your Comment

コメント:登録フォーム
公開設定

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。