dポイントプレゼントキャンペーン実施中!

phpで趣味のコーディングをしています。
あるフリーのモジュールをうまく使えなくて困っています。

そのモジュールでは、zip圧縮したファイルをアップロードするところがあるのですが、
$_FILES["upfile"]["type"] が application/zip でないと受け付けてくれません。
しかし、私の環境では、何でzip圧縮しても(lhaz、7zip、WinXPデフォルト機能の3つでzip圧縮を試行)、
$_FILES["upfile"]["type"] は application/x-zip-compressed になってしまいます。

質問は2つあります。

1.
application/x-zip-compressed と application/zip は、それぞれどんな圧縮形式なのでしょうか。

2.
application/x-zip-compressed のファイルを、 application/zip に変換する方法は無いでしょうか。

以上です。
ご回答よろしくお願い致します。

A 回答 (2件)

>1.


>application/x-zip-compressed と application/zip は、それぞれどんな圧縮形式なのでしょうか。

基本的に同じ。どちらも同じ物として扱われる。と言うか、同じ物として扱わないといけない。

>2.
>application/x-zip-compressed のファイルを、 application/zip に変換する方法は無いでしょうか。

送信側のブラウザ設定のMIME設定を変更すれば書き換わって送信される。

が、そんな事をしても「自分しか解決しない」ので無意味。

もし、現在作成中のページが「公開予定」であれば、どちらのMIMEタイプで送信されても、区別なく受け付けるべき。

アクセスしてくる利用者は「MIMEタイプがどうなってるかなんて知らない」のだから、どっちも区別せずに受け付けないといけない。

>$_FILES["upfile"]["type"] が application/zip でないと受け付けてくれません。

正しい対処方法としては「フリーで入手したモジュールを修正し、どちらのMIMEタイプも受け付けるようにすべき」であって、クライアント側が送信するMIMEタイプを細工するのは本末転倒。

両方のMIMEタイプを受け付けるように変更できないのであれば、そのフリーのモジュールは「欠陥品」なので使うべきではない。

ちゃんと、両方とも等しく受け付けてくれる「欠陥のないモジュール」を使うべき。
    • good
    • 0

http://ja.wikipedia.org/wiki/ZIP_(%E3%83%95%E3%8 …

これでもみてみ。

By hamutaro

またなにかみつけたらおしえるね。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!