getID3ってのを使えばできる。
インストール
ubuntu最高や
sudo apt-get install php-getid3
これで/usr/share/php-getid3にインストールされる。
サンプル
<?php $filename = 'hogehoge.mp3'; require_once('/usr/share/php-getid3/getid3.php'); $getID3 = new getID3(); $fileInfo = $getID3->analyze($filename); getid3_lib::CopyTagsToComments($fileInfo); //曲名 echo $fileInfo['tags']['id3v2']['title'][0] . "<br>"; //アーティスト名 echo $fileInfo['tags']['id3v2']['artist'][0] . "<br>"; //アルバム名 echo $fileInfo['tags']['id3v2']['album'][0] . "<br>"; //ビットレート echo $fileInfo['audio']['bitrate'] . "<br>"; //曲時間 echo $fileInfo['playtime_string'] . "<br>"; //曲時間(秒) echo $fileInfo['playtime_seconds'] . "<br>";
他にも色々できるけど基本的にはこんな感じ
ファイル名について
絶対パスでも相対パス両方いける。が、ファイル名に日本語が含まれている場合は正常に動作してくれない。そこで以下のコードを入れる
$filename = mb_convert_encoding($filename, "SJIS", "auto");
と
$getID3->setOption(array('encoding' => 'UTF-8'));
以下
<?php $filename = 'こんなに近くで.mp3'; $filename = mb_convert_encoding($filename, "SJIS", "auto"); require_once('/usr/share/php-getid3/getid3.php'); $getID3 = new getID3(); $getID3->setOption(array('encoding' => 'UTF-8')); $fileInfo = $getID3->analyze($filename); getid3_lib::CopyTagsToComments($fileInfo); //曲名 echo $fileInfo['tags']['id3v2']['title'][0] . "<br>"; //アーティスト名 echo $fileInfo['tags']['id3v2']['artist'][0] . "<br>"; //アルバム名 echo $fileInfo['tags']['id3v2']['album'][0] . "<br>"; //ビットレート echo $fileInfo['audio']['bitrate'] . "<br>"; //曲時間 echo $fileInfo['playtime_string'] . "<br>"; //曲時間(秒) echo $fileInfo['playtime_seconds'] . "<br>";