php读取mp3文件信息

一个读取的程序。其实稍作改动,就可以变成读写的( id3v1 ), id3v2 复杂的多,以后看情况再写吧。
  1. <?php
  2. $file="回到我身边.mp3"; //要读取的文件--俺偶像的
  3. $mp3info=readmp3($file); //获得文件信息,数组
  4. print_r($mp3info); //输出数组
  5. function readmp3($mp3_file)
  6. {
  7.     $fp=fopen($mp3_file,"rb"); //读取mp3文件
  8.     //首先判断是否有TAG,如果没有,那就没必要读取了,方法就是读取倒数128-126字节,看是否是TAG
  9.     //详情参看http://www.readlog.cn/archives/2961/
  10.     fseek($fp,-128,SEEK_END); //指针移到倒数128字节处
  11.     $tag=fread($fp,3); //读取倒数128-126字节位置的数据
  12.     if($tag=="TAG")  //如果这3个字节是TAG,表明有TAG
  13.      {
  14.         $mp3=array();
  15.         //标题30个字节,从倒数125字节到倒数96字节
  16.         //现在直接读就可以了
  17.         $mp3['标题']=fread($fp,30);
  18.         //艺术家30个字节,从倒数95字节到66字节
  19.         $mp3['艺术家']=fread($fp,30);
  20.         //专辑30个字节,从倒数65字节到36字节
  21.         $mp3['专辑']=fread($fp,30);
  22.         //年份4个字节,从倒数35字节到32字节
  23.         $mp3['年份']=fread($fp,4);
  24.         //注释28个字节,从倒数31字节到4字节 (有的是30个字节,那就把倒数第2,3位归入注释了)
  25.         $mp3['注释']=fread($fp,28);
  26.         fseek($fp,1,SEEK_CUR); //跳过倒数第3位保留位
  27.         //第几首1个字节,倒数第2位
  28.         $mp3['编号']=ord(fread($fp,1));
  29.         //流派1个字节,就是倒数第一个字节了
  30.         //流派这里是存放的整型数据,可以写个函数来把数字变成具体的文字。
  31.         //具体含义参看http://www.readlog.cn/archives/2961/
  32.         $mp3['流派']=ord(fread($fp,1));
  33.     return$mp3;
  34.      }
  35. }
  36. ?>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值