id3_get_tag
(PECL id3 >= 0.1)
id3_get_tag — Возвращает всю информацию, сохранённую в ID3-теге
Описание
$filename
[, int $version
= ID3_BEST
] )id3_get_tag() используется для получения всей информации, хранящейся в ID3-теге данного файла.
Список параметров
-
filename
-
Путь к MP3-файлу
Вместо имени файла можно передать потоковый ресурс
-
version
-
Позволяет определять версию ID3-тега, так как MP3-файл может содержать теги версии 1.х и 1.2.
Начиная с версии 0.2 id3_get_tag() также поддерживает ID3-теги версии 2.2, 2.3 и 2.4. Для извлечения информации из этих тегов, передайте одну из констант ID3_V2_2, ID3_V2_3 или ID3_V2_4 вторым параметром. Теги ID3 версии 2.х может содержать больше информации об MP3-файле, чем теги версии 1.х.
Возвращаемые значения
Возвращает ассоциативный массив с различными ключами: title, artist, ..
Ключ genre содержит число в интервале от 0 до 147. Вы можете использовать функцию id3_get_genre_name() для получения текстового названия жанра.
Примеры
Пример #1 Пример использования id3_get_tag()
<?php
$tag = id3_get_tag( "path/to/example.mp3" );
print_r($tag);
?>
Результатом выполнения данного примера будет что-то подобное:
Array ( [title] => DN-38416 [artist] => Re:\Legion [album] => Reflections [year] => 2004 [genre] => 19 )
Пример #2 Пример использования id3_get_tag()
<?php
$tag = id3_get_tag( "path/to/example2.mp3", ID3_V2_3 );
print_r($tag);
?>
Результатом выполнения данного примера будет что-то подобное:
Array ( [copyright] => Dirty Mac [originalArtist] => Dirty Mac [composer] => Marcus Götze [artist] => Dirty Mac [title] => Little Big Man [album] => Demo-Tape [track] => 5/12 [genre] => (17)Rock [year] => 2001 )
Смотрите также
- id3_set_tag() - Обновляет информацию в ID3 теге
- id3_remove_tag() - Удаляет существующий ID3-тег
- id3_get_version() - Возвращает версию ID3-тега
Коментарии
An alternative to this is
<?php
function readID3($filename)
{
$mp3 = $filename;
$genre_arr = array("Blues", "Classic Rock", "Country", "Dance", "Disco", "Funk", "Grunge", "Hip-Hop", "Jazz", "Metal", "New Age", "Oldies", "Other", "Pop", "R&B", "Rap", "Reggae", "Rock", "Techno", "Industrial", "Alternative", "Ska", "Death Metal", "Pranks", "Soundtrack", "Euro-Techno", "Ambient", "Trip-Hop", "Vocal", "Jazz+Funk", "Fusion", "Trance", "Classical", "Instrumental", "Acid", "House", "Game", "Sound Clip", "Gospel", "Noise", "AlternRock", "Bass", "Soul", "Punk", "Space", "Meditative", "Instrumental Pop", "Instrumental Rock", "Ethnic", "Gothic", "Darkwave", "Techno-Industrial", "Electronic", "Pop-Folk", "Eurodance", "Dream", "Southern Rock", "Comedy", "Cult", "Gangsta", "Top 40", "Christian Rap", "Pop/Funk", "Jungle", "Native American", "Cabaret", "New Wave", "Psychadelic", "Rave", "Showtunes", "Trailer", "Lo-Fi", "Tribal", "Acid Punk", "Acid Jazz", "Polka", "Retro", "Musical", "Rock & Roll", "Hard Rock", "Folk", "Folk-Rock", "National Folk", "Swing", "Fast Fusion", "Bebob", "Latin", "Revival", "Celtic", "Bluegrass", "Avantgarde", "Gothic Rock", "Progressive Rock", "Psychedelic Rock", "Symphonic Rock", "Slow Rock", "Big Band", "Chorus", "Easy Listening", "Acoustic", "Humour", "Speech", "Chanson", "Opera", "Chamber Music", "Sonata", "Symphony", "Booty Bass", "Primus", "Porn Groove", "Satire", "Slow Jam", "Club", "Tango", "Samba", "Folklore", "Ballad", "Power Ballad", "Rhythmic Soul", "Freestyle", "Duet", "Punk Rock", "Drum Solo", "Acapella", "Euro-House", "Dance Hall");
$filesize = filesize($mp3);
$file = fopen($mp3, "r");
fseek($file, -128, SEEK_END);
$tag = fread($file, 3);
if($tag == "TAG")
{
$data["Song"] = fread($file, 30);
$data["Artist"] = fread($file, 30);
$data["Album"] = fread($file, 30);
$data["Year"] = fread($file, 4);
$data["Comment"] = fread($file, 30);
$data["Genre"] = $genre_arr[ord(fread($file, 1))];
}
else
return("MP3 file does not have any ID3 tag!");
fclose($file);
while(list($key, $value) = each($data))
{
echo("$key: $value<br>\r\n");
}
}
?>
It's a bit more code but does the job fine.