<?php
$dir_name = "G:\\mp3\\";
$dir = dir($dir_name);
while ($f = $dir->read()) {
if (preg_match('/\.mp3$/i', $f)) {
$info = parse_mp3($f);
print_r($info);
}
}
function parse_mp3($file_name) {
$info_struct = array (
"title" => array(3, 33, 'trim'),
"artist" => array(33, 63, 'trim'),
"album" => array(63, 93, 'trim'),
"year" => array(93, 97, 'trim'),
"comment" => array(97, 126, 'trim'),
"genre" => array(127, 128, 'genre_name')
);
$fp = fopen($file_name, "rb") or die("cannot open file!");
fseek($fp, -128, SEEK_END);
$mp3_info = array();
$tag = fread($fp, 3);
if ($tag == 'TAG') {
#fseek($fp, -125, SEEK_END);
foreach ($info_struct as $key => $arr) {
fseek($fp, $arr[0] - 128, SEEK_END);
$mp3_info[$key] = call_user_func($arr[2], fread($fp, $arr[1] - $arr[0]));
}
}
fclose($fp);
return $mp3_info;
}
//file genre name accoding by genre number;
function genre_name($genre) {
$genre = ord($genre);
$genre_arr = array (
'8' => 'Jazz',
'10' => 'New Age ',
'11' => 'Oldies ',
'12' => 'Other',
'13' => 'Pop',
'14' => 'R&B',
'15' => 'Rap',
'16' => 'Reggae',
'17' => 'Rock'
);
if (array_key_exists($genre, $genre_arr)) {
return $genre_arr[$genre];
}
else {
return "Unknow";
}
}
?>
此文章由 http://www.ositren.com 收集整理 ,地址为:
http://www.ositren.com/htmls/67187.html