2013-05-08 61 views
0

经过一番研究,我发现这个链接指向PHP上的“指南”:ID3 Functions。我不太清楚如何去落实到网站这一点,以便:使用PHP从.mp3s读取/添加ID3标签到HTML

  • 查找所有MP3播放的文件夹
  • 从文件中读取ID3标签(艺术家,一年等)
  • 允许我把ID3标签并链接到文件一起上 HTML网站

我已经找到了所有MP3播放的文件夹中的工作,但我不知道如何实现ID3功能从这些文件中读取。

+1

在每个文件上一次运行'id3_get_tag();'。 glog(),foreach(),id3_get_tag()。完成 – 2013-05-08 01:08:08

回答

0

最简单的方法可能是id3_get_tag($filename, $version)

只需提供包含文件路径的字符串和可选配一个ID3标签版本(离开了,如果你不知道):

$files = array('/folder/file1.mp3', '/folder/file2.mp3'); 
$tags = array(); 
foreach($files as $file) { 
    $tags[$file] = id3_get_tag($file); 
    // convert genre: 
    if(array_key_exists('genre', $tags[$file]) && is_integer($tags[$file]['genre']) 
     && $tags[$file]['genre'] >= 0 && $tags[$file]['genre'] <= 147) { 
     $tags[$file]['genre'] = id3_get_genre_name($tags[$file]['genre']); 
    } 
} 

$tags后会有一个这样的数组:

['/folder/file1.mp3'] = array('interpret' => 'John Doe', 'title' => 'PHP is cool', 'genre' => 'Techno') 
['/folder/file2.mp3'] = array('interpret' => 'Jane Doe', 'title' => 'ASP is low', 'genre' => 'House') 

你真正从中获得什么键取决于每个.mp3文件的ID3版本和实际内容(无论有人写入该文件)。

+0

因此,如果我只想要艺术家,年份和专辑,我应该使用哪个版本? (我手动制作.mp3,所以我只会添加这些标签。) – FibreChips 2013-05-08 01:20:28

+0

如果您不需要流派,您可以省去'if(array_key_exists(...)){...}'块(如果你保留它不会造成伤害)。这3个基本属性应该在ID3v1以后的所有ID3版本中实现。 – Lukas 2013-05-08 01:27:31

+0

谢谢!这看起来像我在找什么 – FibreChips 2013-05-08 01:56:03