WordPress.org

Make WordPress Core

Opened 6 months ago

Last modified 6 months ago

#22949 new enhancement

More Accurate and Extensible MIME Type Handling

Reported by: mattonomics Owned by:
Priority: normal Milestone: Awaiting Review
Component: Media Version: 3.5
Severity: normal Keywords: has-patch
Cc:

Description

In the general case, a file extension may represent more than one MIME type. Currently, file extensions are married to a single MIME.

Specifically, let's look at the case of the "ico" file extension. Officially, the MIME type for this file should be "image/vnd.microsoft.icon". Unofficially, "image/x-icon" along with many others are usable.

The solution to this problem is extremely simple.

First, allow key => value pairs in the exhaustive MIME list located in wp_get_mime_types to be arrays so we can account for cases such as ico.

Second, add the proper handling for this change in wp_check_filetype. The way I have written it should not interfere with existing uses of this function (as they were all passing strings and now can pass a string or array).

Attachments (3)

functions.php.patch (2.0 KB) - added by mattonomics 6 months ago.
favicon.ico (1.1 KB) - added by mattonomics 6 months ago.
class-wp-image-editor.php.patch (1012 bytes) - added by mattonomics 6 months ago.

Download all attachments as: .zip

Change History (6)

mattonomics6 months ago

comment:2 SergeyBiryukov6 months ago

  • Version changed from trunk to 3.5

mattonomics6 months ago

comment:3 mattonomics6 months ago

To really see the MIME issue in action, upload the favicon I've attached to this ticket while in multisite. Be sure to add ico to the list of accepted extensions!

Note: See TracTickets for help on using tickets.