bayfrontmedia/php-mime-types

Simple class used to detect the appropriate MIME type of a file based on it's extension.

v2.0.0 2023-01-26 17:13 UTC

This package is auto-updated.

Last update: 2024-10-26 20:38:00 UTC


README

Simple class used to detect appropriate MIME type.

This is by no means meant to handle an exhaustive list of every single MIME type, but rather focuses on the most common MIME types used.

Since MIME types will be detected using the file extension, some file extension related methods are available to use as well.

License

This project is open source and available under the MIT License.

Author

Bayfront Media

Requirements

  • PHP ^8.0

Installation

composer require bayfrontmedia/php-mime-types

Usage

getMimeTypes

Description:

Return array of all MIME types.

Parameters:

  • None

Returns:

  • (array)

Example:

use Bayfront\MimeTypes\MimeType;

print_r(MimeType::getMimeTypes());

addMimeType

Description:

Adds new MIME type definitions.

Parameters:

  • $types (array): Array whose keys are the file extension and values are the MIME type string

Returns:

  • (void)

Example:

use Bayfront\MimeTypes\MimeType;

MimeType::addMimeType([
    'acgi' => 'text/html',
    'avs' => 'video/avs-video'
]);

getExtension

Description:

Return extension of a given file, or empty string if not existing.

Parameters:

  • $file (string)

Returns:

  • (string)

Example:

use Bayfront\MimeTypes\MimeType;

echo MimeType::getExtension('pretty-photo.jpg');

hasExtension

Description:

Checks if a file has a given extension.

Parameters:

  • $extension (string)
  • $file (string)

Returns:

  • (bool)

Example:

use Bayfront\MimeTypes\MimeType;

if (MimeType::hasExtension('jpg', 'pretty-photo.jpg') {
    // Do something
}

fromExtension

Description:

Get MIME type from file extension.

Parameters:

  • $extension (string)
  • $default = 'application/octet-stream' (string): Default MIME type to return if none found for given extension

Returns:

  • (string)

Example:

use Bayfront\MimeTypes\MimeType;

echo MimeType::fromExtension('jpg');

fromFile

Description:

Get MIME type from file name.

Parameters:

  • $file (string)
  • $default = 'application/octet-stream' (string): Default MIME type to return if none found for given extension

Returns:

  • (string)

Example:

use Bayfront\MimeTypes\MimeType;

echo MimeType::fromFile('pretty-photo.jpg');