0

CodeIgniter アップロード クラスを使用して画像をアップロードしようとしています。これは、特定の画像のみをアップロードすると問題が発生することに気付いた数日前まで機能していました。現在、「image.jpg」という名前の画像で問題をテストしています。ファイル拡張子ごとに、画像は「image/jpeg」の MIME タイプを返す JPG 画像です。ただし、何らかの理由で、この画像をアップロードすると、エラーが状態を返しました。

「アップロードしようとしているファイル形式は許可されていません。」

私の設定はかなり単純で、JPG を含むいくつかの異なる画像タイプを許可します。

    $config = array(
        'allowed_types' => 'jpg|jpeg|gif|png',
        'file_name'     => $full,
        'upload_path'   => $path,
        'max_size'      => 5120
    );

ここでの本当のキッカーは、次の$this->upload->data()戻り値をエコーアウトするときです。

    Array
    (
        [file_name] => image.jpg
        [file_type] => image/png
        [file_path] => /var/www/tmp/
        [full_path] => /var/www/tmp/image.jpg
        [raw_name] => image
        [orig_name] => 
        [client_name] => image.jpg
        [file_ext] => .jpg
        [file_size] => 50519
        [is_image] => 1
        [image_width] => 
        [image_height] => 
        [image_type] => 
        [image_size_str] => 
    )

image/png画像が返されるべきときのfile_type を画像が返す理由を誰かが知っていますかimage/jpeg?

を確認しましたconfig/mimes.phpが、すべてが正しいように見えます。どんな助けでも大歓迎です。前もって感謝します!

許可されたタイプを次のように設定した場合:allowed_types => '*'動作しているように見えますが、すべてのファイル タイプを許可したくありません。これは CodeIgniter 2.0 より前の問題でした。私が現在実行しているバージョンは 2.1.3 であるため、2.0 の修正は現在のバージョンで「修正」されていると思われるため、関係ありません。

4

1 に答える 1