PhoenixXP
Mitglied
Ich bastel privat an einer mp3-Datenbank (Indizierung, Suche, Zusammenstellung und Download von Playlists) in PHP (Windows, Xampp 1.64).
In der Vergangenheit habe ich immer interpretierten Code zum Auslesen der id3-Tags benutzt, die immer nur id3-Tags der Version 1.0 (artist, title, album u. comment mit max. 30 Zeichen enthalten durften) auslesen konnten.
Als ich vor kurzem hier im Forum von der Extension las, habe ich sie sofort ausprobiert. Die Funktion nutze ich während der Indizierung der Dateien (rekursiv) und rufe ich folgendermaßen auf:
Was ist jetzt mein Problem?
Das Script bricht mitten in der Indizierung unmittelbar nach dem eben genannten Funktionaufruf ab und erzeugt folgene Fehlermeldung:
Fatal error: Allowed memory size of 33554432 bytes eshausted (tried to allocate 623327547 bytes über 600 MB) in ... on line 191 (Zeile des Funktionsaufrufs).
Die gerade indizierte Datei hat eine Dateigröße von 25 MB. Selbst eine Vergrößerung des für PHP zur Verfügung stehenden Speichers scheitert später an einer deutlichen höheren Speicherallozierung durch das Script, das ohne id3-Analyse fehler- aber sinnfrei durchläuft.
In der Vergangenheit habe ich immer interpretierten Code zum Auslesen der id3-Tags benutzt, die immer nur id3-Tags der Version 1.0 (artist, title, album u. comment mit max. 30 Zeichen enthalten durften) auslesen konnten.
Als ich vor kurzem hier im Forum von der Extension las, habe ich sie sofort ausprobiert. Die Funktion nutze ich während der Indizierung der Dateien (rekursiv) und rufe ich folgendermaßen auf:
PHP:
$id3 = id3_get_tag($realpath, ID3_BEST);
Was ist jetzt mein Problem?
Das Script bricht mitten in der Indizierung unmittelbar nach dem eben genannten Funktionaufruf ab und erzeugt folgene Fehlermeldung:
Fatal error: Allowed memory size of 33554432 bytes eshausted (tried to allocate 623327547 bytes über 600 MB) in ... on line 191 (Zeile des Funktionsaufrufs).
Die gerade indizierte Datei hat eine Dateigröße von 25 MB. Selbst eine Vergrößerung des für PHP zur Verfügung stehenden Speichers scheitert später an einer deutlichen höheren Speicherallozierung durch das Script, das ohne id3-Analyse fehler- aber sinnfrei durchläuft.
Anhänge
Zuletzt bearbeitet: