ERLEDIGT
JA
JA
ANTWORTEN
8
8
ZUGRIFFE
269
269
EMPFEHLEN
-
Hallo zusammen,
ich bin auf der Suche nach einer Lösung aus einer .mp3-Datei per PHP die Dateiinformationen auszulesen.
Also wenn in der Datei zB ein Album und einen Interpreten hinterlegt ist, dass ich diesen mittels PHP ermittle.
Mitkonnte ich zB allgemeine Dateiinfos erhalten, aber wie komme ich an die oben genannten Infos?PHP-Code:lstat
Wäre schön, wenn mir da jemand einen Tipp geben könnte.
Besten Dank im Voraus!
-
das ganze nennt sich ID3-Tag.
Habe das hier gefunden (nicht getestet): http://getid3.sourceforge.net/
lg
-
Erstmal Danke, Klein0r!
Wie muss ich denn mein PHP anpassen, damit mein PHP die id3-Tags verarbeiten kann?
Wenn ich das so ausführe, passiert nichts.
Ich nehme an, dass ich das id3-Modul in meiner php.ini aktivieren muss, oder so...
Ich habe die PHP Version 5.2.3 auf meinem Server, aber die scheint das nicht zu wollen...
Geändert von stetabar (17.07.08 um 13:21 Uhr) Grund: In all der Aufregung vergessen mich zu bedanken... *schäm*
-
id3_get_tag() sollte eigendlich genau das sein was du suchst.
Wichtig hierbei:
Installation
Die id3 Extension ist Teil des PECL Archivs und kann mit Hilfe des PEAR Installationstools installiert werden. Wenn Sie PHP selbst mit id3 Unterstützung kompilieren wollen laden Sie den Quellcode herunter, entpacken ihn in php-src/ext/id3 und kompilieren dann PHP mit --enable-id3.mfg
--------------------------------------------------------------------------------
Kein Support via PN, Email, ICQ, Brieftaube oder Flaschenpost!
Besucht den tutorials.de-Chat | Anleitung
RTFM - PHP-Handbuch - MySql Handbuch
--------------------------------------------------------------------------------
Surftipp...Der Postillon
--------------------------------------------------------------------------------
Signatur v2.2
-
Okay also musste ich das Paket doch mal laden - aber habs nicht getestet.
Um das anzuwenden sollte man einigermaßen Ahnung von OOP haben - wenn du das ganze nur includest ist klar das nichts passiert weil er dann nur die klassen deklariert.
Schau dir doch einfach mal unter demos die demo.browse.php an.
Da schlägste dich dann durch und am Ende weißt du hoffentlich wie du das ganze anwenden musst
EDIT:
Oder du machst es wie Loomes sagt - allerdings kann das Paket was ich dir gegeben habe sicher noch Ecke mehr - die Frage ist was genau du willst
Für dich könnte es fast so reichen... Allerdings muss dafür wohl dein Provider diese Option eingeschaltet haben - sonst wird das nichts
-
Habe es nun endlich hinbekommen.

Also lag an den Einstellungen in meiner php.ini.
Nachdem ich die dll dann richtig geladen hatte, hat er mir die Info zurückgegeben!
Besten Dank nochmal!
-
Vllt könntest du ein Stück Quelltext für dein Nachkommen opfern wie du es gelöst hast
-
17.07.08 13:46 #8
Ich habe mir mal selber Funktionen geschrieben um ID3v1.x Tags auszulesen. Hierbei muss man nur die letzten 128 Byte der Datei auswerten. Allerdings ist das Script nicht gerade gut geschrieben und müsste etwas angepasst werden.
Damit kannst du es ja mal probierenPHP-Code:function id3($filename)
{
global $genres;
$arr = array();
if (!is_file($filename) or filesize($filename) < 128)
{
return false;
break;
}
$fp = fopen($filename, "r");
fseek($fp, filesize($filename) - 128);
$id3 = fread($fp, 128);
if (strtoupper(substr($id3, 0, 3)) == "TAG")
{
$arr["title"] = 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));
if (substr($id3, 125, 1) == "\0" && substr($id3, 126, 1) != "\0")
{ // we got a ID3v1.1 here
$arr["comment"] = trim(substr($id3, 97, 29));
$arr["track"] = ord(substr($id3, 126, 1));
$arr["version"] = "ID3v1.1";
}
else
{ // old ID3v1
$arr["comment"] = trim(substr($id3, 97, 30));
$arr["version"] = "ID3v1";
}
$arr["genre"] = $genres[ord($id3[127])];
clearstatcache();
return $arr;
}
return false;
}
$genres = 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 US',
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',
76 => 'Retro',
77 => 'Musical',
78 => 'Rock & Roll',
79 => 'Hard Rock',
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 => 'Rhytmic Soul',
119 => 'Freestyle',
120 => 'Duet',
121 => 'Punk Rock',
122 => 'Drum Solo',
123 => 'Acapella',
124 => 'Euro-House',
125 => 'Dance Hall',
126 => 'Goa',
127 => 'Drum & Bass',
128 => 'Club-House',
129 => 'Hardcore',
130 => 'Terror',
131 => 'Indie',
132 => 'BritPop',
133 => 'Negerpunk',
134 => 'Polsk Punk',
135 => 'Beat',
136 => 'Christian Gangsta Rap',
137 => 'Heavy Metal',
138 => 'Black Metal',
139 => 'Crossover',
140 => 'Contemporary Christian',
141 => 'Christian Rock',
142 => 'Merengue',
143 => 'Salsa',
144 => 'Trash Metal',
145 => 'Anime',
146 => 'Jpop',
147 => 'Synthpop'
);
$file ="C:/my.mp3";
$ID3tag = $data = id3($file);
if(true === is_array($ID3tag))
{
$ID3tag['filesize'] = round(filesize($file) / 1024 / 1024,2)." MB";
}
echo '<pre>';
var_dump($ID3tag);
echo '</pre>';
Ist halt noch aus meinen anfänglichen PHP4 Zeiten ...
Mein neues Projekt: zandman.de - Bericht über den Aufbau einer Entwicklungsumgebung für Test-Driven-Development mit phpUnderControl und dem Aufbau einer Webapplikation mit Zend Framework Version 1.9.x
-
17.07.08 16:36 #9
Ein Response vom Ersteller wäre nicht schlecht, damit andere auch wissen, was denn nun die Lösung ist
Mein neues Projekt: zandman.de - Bericht über den Aufbau einer Entwicklungsumgebung für Test-Driven-Development mit phpUnderControl und dem Aufbau einer Webapplikation mit Zend Framework Version 1.9.x
Ähnliche Themen
-
[Frage] WMI VGA Informationen auslesen
Von ironmonkey2 im Forum Visual Basic 6.0Antworten: 0Letzter Beitrag: 17.12.07, 13:26 -
Informationen aus TTF Schriftdatei auslesen möglich?
Von Templorials im Forum PHPAntworten: 1Letzter Beitrag: 11.07.07, 21:39 -
Informationen zum Java .class File Format
Von Thomas Darimont im Forum Java Technology NewsAntworten: 0Letzter Beitrag: 28.08.06, 23:31 -
jpeg informationen auslesen
Von metty im Forum PHPAntworten: 3Letzter Beitrag: 21.07.04, 14:59 -
Header Informationen aus der TIFF auslesen
Von daywalkertp im Forum Microsoft WindowsAntworten: 0Letzter Beitrag: 27.11.03, 11:41





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren