Hallo
Kleine Frage: Lassen sich id3 Tags v1 schon vor dem upload auslesen? (Bis jetzt kann ich mir das selber noch nicht wirklich vorstellen, weil ja die letzten 128 bytes von der mp3 ausgelesen werden müssen.
Meine Idee war, dass man mp3s auf der festplatte suchen kann (mehrer markieren kann) und dann diese geuploadet werden können. Soche lösungen gibt es ja viele.
Ich möchte aber noch befor sie wirklich geuploadet werden die mp3 tags anzeigen lassen und den User fragen, ob diese Informationen korrekt sind. Andernfalls öffnet sich ein formular, wo die id3 tags bearbeitet werden können und später dann geupdatet werden. Die Tags kommen in eine Datenbank
Das auslesen der Tags würde ich so machen. Allerdings müsste die Funktion noch geändert werden, weil die Dateien ja noch nicht auf dem server liegen.
Kleine Frage: Lassen sich id3 Tags v1 schon vor dem upload auslesen? (Bis jetzt kann ich mir das selber noch nicht wirklich vorstellen, weil ja die letzten 128 bytes von der mp3 ausgelesen werden müssen.
Meine Idee war, dass man mp3s auf der festplatte suchen kann (mehrer markieren kann) und dann diese geuploadet werden können. Soche lösungen gibt es ja viele.
Ich möchte aber noch befor sie wirklich geuploadet werden die mp3 tags anzeigen lassen und den User fragen, ob diese Informationen korrekt sind. Andernfalls öffnet sich ein formular, wo die id3 tags bearbeitet werden können und später dann geupdatet werden. Die Tags kommen in eine Datenbank
Das auslesen der Tags würde ich so machen. Allerdings müsste die Funktion noch geändert werden, weil die Dateien ja noch nicht auf dem server liegen.
PHP:
<?php
$genre = array(0 => "Blues", 1 => "Classic Rock", 2 => "Country", 3 => "Dance", 4 => "Disco", 5 => "Funk",
6 => "Grunge", 7 => "Hip-Hop", 8 => "Jazz", 9 => "Metal", 10 => "New Age",
11 => "Oldies", 12 => "Other", 13 => "Pop", 14 => "R&B", 15 => "Rap",
16 => "Reggae", 17 => "Rock", 18 => "Techno", 19 => "Industrial", 20 => "Alternative",
21 => "Ska", 22 => "Death Metal", 23 => "Pranks", 24 => "Soundtrack", 25 => "Euro-Techno",
26 => "Ambient", 27 => "Trip-Hop", 28 => "Vocal", 29 => "Jazz+Funk", 30 => "Fusion",
31 => "Trance", 32 => "Classical", 33 => "Instrumental", 34 => "Acid", 35 => "House",
36 => "Game", 37 => "Sound Clip", 38 => "Gospel", 39 => "Noise", 40 => "Alternative Rock",
41 => "Bass", 42 => "Soul", 43 => "Punk", 44 => "Space", 45 => "Meditative",
46 => "Instrumental Pop", 47 => "Instrumental Rock", 48 => "Ethnic", 49 => "Gothic", 50 => "Darkwave",
51 => "Techno-Industrial", 52 => "Electronic", 53 => "Pop-Folk", 54 => "Eurodance", 55 => "Dream",
56 => "Southern Rock", 57 => "Comedy", 58 => "Cult", 59 => "Gangsta", 60 => "Top 40",
61 => "Christian Rap", 62 => "Pop/Funk", 63 => "Jungle", 64 => "Native American", 65 => "Cabaret",
66 => "New wave", 67 => "Psychadelic", 68 => "Rave", 69 => "Showtunes", 70 => "Trailer",
71 => "Lo-Fi", 72 => "Tribal", 73 => "Acid Punk", 74 => "Acid Jazz", 75 => "Polka",
80 => "Folk", 81 => "Folk-Rock", 82 => "National Folk", 83 => "Swing", 84 => "Fast Fusion", 85 => "Bebob",
86 => "Latin", 87 => "Revival", 88 => "Celtic", 89 => "Bluegrass", 90 => "Avantgarde",
91 => "Gothic Rock", 92 => "Progressive Rock", 93 => "Psychedelic Rock", 94 => "Symphonic Rock", 95 => "Slow Rock",
96 => "Big Band", 97 => "Chorus", 98 => "Easy Listening", 99 => "Acoustic", 100 => "Humour",
101 => "Speech", 102 => "Chanson", 103 => "Opera", 104 => "Chamber Music", 105 => "Sonata",
106 => "Symphony", 107 => "Booty Bass", 108 => "Primus", 109 => "Porn Groove", 110 => "Satire",
111 => "Slow Jam", 112 => "Club", 113 => "Tango", 114 => "Samba", 115 => "Folklore",
116 => "Ballad", 117 => "Power Ballad", 118 => "Rhythmic Soul", 119 => "Free Style", 120 => "Duet",
121 => "Punk Rock", 123 => "A capella", 124 => "Euro-House", 125 => "Dance Hall");
function id3($filename = "")
{
global $genre;
if (!is_file($filename) or filesize($filename) < 128)
{
return false;
break;
}
$fp = fopen($filename, "r");
fseek($fp, filesize($filename) - 128);
$id3 = fread($fp, 128);
$arr = array();
if (strtoupper(substr($id3, 0, 3)) == "TAG")
{
$arr["song"] = trim(substr($id3, 3, 30));
$arr["artist"] = trim(substr($id3, 33, 30));
$arr["album"] = trim(substr($id3, 63, 30));
$arr["year"] = trim(substr($id3, 93, 4));
$arr["comment"] = trim(substr($id3, 97, 30));
$arr["genre"] = $genre[ord($id3[127])];
return $arr;
}
else
return false;
fclose($fp);
}
?>
Last edited by a moderator: