A MP3 ID3 tags reader in native PHP
Switch branches/tags
Nothing to show
Clone or download
shubhamjain Fix #9: Characters failing to show properly because of encoding issue
ID3 spec specifies that text frames can have two types of encoding.
Previously PHP-ID3 wasn't considering it and parsing them as plain ASCII
Latest commit d4cae5c Sep 10, 2015
Failed to load latest commit information.



PHP-ID3 makes use of native PHP to read ID3 Tags and thumbnail from a MP3 file. There have been many revisions to ID3 Tags specification; this program makes use of v3.2 of the spec.

To read binary data more effectively, I have created a sclass, BinaryFileReader, which reads data in named chunks.

##How to Install

Into your composer.json

    "require" : {
        "shubhamjain/php-id3": "dev-master"

##How to Use

You will first need to include the autoload.php generated by composer and then you can use the classes in PhpId3 namespace.


require 'vendor/autoload.php';

use PhpId3\Id3TagsReader;

$id3 = new Id3TagsReader(fopen("Exodus - 06 - Piranha.mp3", "rb"));

$id3->readAllTags(); //Calling this is necesarry before others

foreach($id3->getId3Array() as $key => $value) {
	if( $key !== "APIC" ) { //Skip Image data
		echo $value["FullTagName"] . ": " . $value["Body"] . "<br />"; 

list($mimeType, $image) = $id3->getImage();

file_put_contents("thumb.jpeg", $image ); //Note the image type depends upon MimeType



See LICENSE for more informations


If you used this project or liked it or have any doubt about the source, send your valuable thoughts at shubham.jain.1@gmail.com.