Mailinglisten-Archive |
From: Michael Stahmann <Michael_(at)_Stahmann.de> > nur eine Idee, kann es sein, das irgendwelche Leerzeichen entfernt werden? Das ganze funktioniert in etwa so: Anfangs werden die Momentanen Tags eingelesen und die Whitespaces per trim() entfernt. Später wenn man auf Submit klickt (die Datei geändert werden soll) werden mit der selbstgeschriebenen Funktion spaces() so lange Leerzeichen angehängt, bis der String genau 30 chars lang ist. Das ist insofern wichtig, weil es wegen der ID3-Definition wichtig ist.... mehr dazu unter http://www.mp3.de/knowhow/reference.html#TAG. Die Funktion spaces sieht so aus: function spaces($thestring, $maxlen) { for($i = strlen($thestring); $i <= $maxlen; $i++) { $thestring .= " "; } return $thestring; } Und weils so nen Spaß macht hier noch das write-script: elseif($ismp3 == "mp3" && $write == "yes") { $mp3file = fopen($edit, "a+"); fseek($mp3file, filesize($edit) - 128); $tag = fread($mp3file, 3); if ($tag == "TAG") { fseek($mp3file, 0); $thewholemp3file = fread($mp3file, filesize($edit)); $thewholemp3file = substr($thewholemp3file, 0, strlen($thewholemp3file) - 128); $thewholemp3file .= "TAG" . spaces($title, 30) . spaces($artist, 30) . spaces($album, 30) . spaces($year, 4) . spaces($comment, 30) . chr($genre); fwrite($mp3file, $thewholemp3file); echo "The ID3-Tag of the file " . $edit . " has been rewritten."; } else { fwrite($mp3file, "TAG" . spaces($title, 30) . spaces($artist, 30) . spaces($album, 30) . spaces($year, 4) . spaces($comment, 30) . chr($genre), 128); echo "An ID3-Tag was created in the file " . $edit . "."; } fclose($mp3file); } > PS: Das Script klingt ganz nach Copyright-Problemen (ID-Tags verändern). Nein kein Stück, es soll in ein Webpanel eingebunden werden. Wenn man bei einer MP3 auf Edit klickt darf man den ID3 Tag verändern.... -- / Kai Hörner | ICQ: 15793712 | <kai_(at)_pc-infos.de> / Fon: 05082 912 007 | Fax: 05082 913 935 | AIM: Perane
php::bar PHP Wiki - Listenarchive