PHP Classes

File: README.md

Recommend this page to a friend!
  Classes of Martin Latter   PHP Detect File Type   README.md   Download  
File: README.md
Role: Documentation
Content type: text/markdown
Description: Documentation
Class: PHP Detect File Type
Identify files via MIME type and file signatures
Author: By
Last change: update README.md
Date: 4 years ago
Size: 1,482 bytes
 

Contents

Class file image Download

File Identifier

Identify a file through MIME type and file signature detection.

Purpose

Detect a file's type through MIME type information and file signature (header) bytes.

(File extensions are ignored.)

Uses

*nix systems have the file command, which is a powerful file identifier, and callable from PHP's shell functions.

Nevertheless, this command is not always available.

The main uses of File Identifier are:

  • For \nix servers where PHP shell functions are disabled inphp.ini* ( `disable_functions=` )
  • PHP running on Windows, where no `file` command natively exists
  • When older versions of `file` (e.g. v. 5.09) are installed on the \nix server, and which do not recognise some files such as.gpg*
  • Where custom, old, or rare file types cannot be identified by the `file` command.

Example Usage

    require('FileIdentifier.php');
    require('FileSignatures.php');

    use Tinram\FileIdentifier\FileIdentifier;

    $f = new FileIdentifier('mira.png');
    $r = $f->getResult();
    echo $r['mimeinfo'] . PHP_EOL . $r['fileinfo'];

File Signatures

The file signature data (FileSignatures.php) contain a limited range of common file type signatures in hexadecimal bytes.

This data array can be easily extended with additional and custom file signatures.

License

File Identifier is released under the GPL v.3.