php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.11.2007, 23:22  
Benutzer
 
Registriert seit: 23.08.2006
Beiträge: 86
Canni
Standard "Hyroglyphen" in Klartext umwandeln

Hi.
Ich habe folgendes kleines Script um id3 auszulesen:

Code:
$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");


   
   
$filename = 'test.mp3';   
   
   
   
   
   
$test = id3($filename);   
var_dump($test);   
   

   
   
function id3($filename)
{
  global $genre;
  if (!is_file($filename) or filesize($filename) < 128)
  {
    return 'false';
  }
  $fp = fopen($filename, "r");
  fseek($fp, filesize($filename) - 128);
  #var_dump($fp);
  
  $id3 = fread($fp, 128);
  
  #var_dump($id3);
  
  $arr = array();
  

    $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;

    
  fclose($fp);
}

So weit, so nett.
Als Ausgabe für var_dump($test); bekommen ich dann:

Zitat:
array(6) { ["song"]=> string(30) "zgðÝõ4#:Ù3šÖÍyp¹1Ìxw[áâ8ëO žè" ["artist"]=> string(30) "ùgr·”©Qº¿ìø™;ÆYŸ´>1?ˆ2ˆz¥ì¾W " ["album"]=> string(30) "Lò_ óį &Žä¶•¨Y€v‘ô\.™‘A(c*" ["year"]=> string(4) "›Ýò—" ["comment"]=> string(30) "SNÉùüp“ÒDC `BS*ÂH_ˆ±Œ8‚äR" ["genre"]=> string(4) "Jazz" }

Wie kann cih denn das Ganze in lesbares umwandeln ( ich weiß noch nicht mal wie die Hyroglyphen heißen )?

Danke und Gruß
Canni ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 22.11.2007, 23:33  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Tja, vermutlich funktioniert der Algoritmus schlechthin nicht. Offensichtlich, weil er sich auf den ID3 v1 Standard bezieht. Wahrscheinlich versuchst Du damit, eine mp3 Datei mit aktuellerem Tagging auszulesen und bekommst nur Datenkauderwelsch.
Vergleiche
http://de.wikipedia.org/wiki/ID3-Tag

Es gibt im Netz Funktionssammlungen, um auch ID3v2 Tags auszulesen. Auch mit Unicode Unterstützung, die ein weiteres Problem darstellt.
nikosch ist offline  
Alt 23.11.2007, 01:39  
Benutzer
 
Registriert seit: 23.08.2006
Beiträge: 86
Canni
Standard

Ich habe vorher die mp3 mit einem Tag-Editor ausgelesen um das von vorneherein auszuschließen und lt. Tag Editor ist es eine ID3 v1...
Canni ist offline  
Alt 23.11.2007, 01:46  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Lade das File einfach mal in einem Text-Editor. Du siehst schon, wo die Tag-Informationen stehen, am Anfang oder am Ende. Ist Klartext. Dein Script versucht jedenfalls (vergeblich?), die Infos am Dateiende auszulesen.

Was soll das eigentlich werden? Wie wärs mit dem Kommandozeilentool, das Du die Tags exportien läßt? Ist sicher performanter als mit php die Dateien einzulesen...

*Klugscheiss* Hieroglyphen
nikosch ist offline  
Alt 23.11.2007, 02:12  
Erfahrener Benutzer
 
Registriert seit: 16.07.2005
Beiträge: 1.007
PHP-Kenntnisse:
Fortgeschritten
brian johnson befindet sich auf einem aufstrebenden Ast
Standard

oder einfach die pecl extension> http://de.php.net/id3
__________________
PHP4?!?>>>Aktuelle PHP Version: 5.2.11 || 5.3.0
Suse 11.2 *vorfreude*
brian johnson ist offline  
Alt 25.11.2007, 14:12  
Benutzer
 
Registriert seit: 23.08.2006
Beiträge: 86
Canni
Standard

Zitat:
Was soll das eigentlich werden
Ich habe vor mal meine DVD´s und CD´s und wenn ich schon dabei bin meine verempedreiten CD´s in eine DB zu stopfen, also wenn du so willst eine Verwaltung für meine Scheiben. Für die MP3´s hatt ich nun die Idee die Verwaltung über ID3 etwas zu vereinfachen und nicht alles per Hand einhämmern zu müssen. Also will ich einfach mal ausprobieren wie weit ich damit komme. Ich wollte in einem Verzeichnis die Tags der Titel nacheinander auslesen und Titel, Genre etc. so in diese DB bringen. Wenn ich noch eine Checksumme für jeden Track generiere sollte er eindeutig in der DB sein, eventuell könnte ich dann den MP3 Bestand der MP3 in der DB mit meinem MP3 Verzeichnis auf der HDD "synchonisieren". Das das ziemlich unperformant ist weiß ich. Außerdem geht´s mir auch um den Lerneffekt....
Obwohl... mit einem Kommandozeilentool die Tags in eine Textfile exportieren und diese dann per PHP auslesen und in die DB schießen?

Zitat:
oder einfach die pecl extension> http://de.php.net/id3
Geht leider nicht. Ist bei meinem Provider nicht standard. Ich werde aber mal nachhaken, ob PECL und PEAR verfügbar gemacht werden können. Soweit ich das verstanden habe muß PECL aber bei der PHP Install. einkomipliert werden.


Deweiteren habe ich festgestellt, daß manche Tags von verschiedenen Tracks sauber auszulesen sind ( das Script also doch funktioniert ) und bei manchen nicht. Das läßt auch mit einem Texteditor nachvollziehen ( bei manchen kann ich die Tags lesen - und finden - bei anderen nicht ). Scheint wohl teiweise an "vermurksten" Tags zu liegen, die ein richtiger Tag-Editor wieder "hinbiegt". Ich werde mich also mal eingehender mit dem Thema befassen müssen....

Tips etc nehme ich natürlich gerne jederzeit an und ernst .
Danke und einen schläfrigen, verregnetenSonntagsmittags Gruß
Canni ist offline  
Alt 25.11.2007, 15:33  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Mein persönlicher Rat:

Benutze das mp3 Tagging Tool mp3tag. Das unterstützt utf-8, Du kannst gruppenweise Tags zuordnen, fehlende aus Verzeichnis und Dateinamen ableiten lassen (per Platzhalterangaben), auch Dateinamen nach Tags umbenenne lassen etc. pp.

Für Deinen Zweck kannst Du Tags exportieren lassen in ein beliebiges Format, das Programm nutzt hierfür eine einfache Scriptsprache. So könntest Du bspw. direkt SQL erzeugen. Probier es mal aus.

http://www.mp3tag.de
nikosch ist offline  
Alt 25.11.2007, 19:33  
Benutzer
 
Registriert seit: 23.08.2006
Beiträge: 86
Canni
Standard

Das ist das tool das ich benutzt habe^^. Hat soweit ich gesehen habe auch freedb-Support. Ich kuck mir das mal genauer an.
Danke.
Canni ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
HTML-Code umwandeln mokus PHP Tipps 2008 5 20.03.2008 17:24
Bilddatei beim Upload automatisch in jpg umwandeln Plague PHP Tipps 2007 5 02.05.2007 11:48
EBCDIC in ASCII umwandeln imported_martin PHP Tipps 2006 2 08.04.2006 16:41
Zeichen für GET Anfrage umwandeln php1 PHP Tipps 2006 2 02.01.2006 16:47
[Erledigt] Umwandeln in HTML-Entities ohne Umwandeln der TAGS PHP-Fortgeschrittene 4 26.12.2005 16:17
Access Datenbank in MySQL Datenbank umwandeln karl Datenbanken 1 19.10.2005 17:04
Sonderzeichen umwandeln phpbeginner PHP Tipps 2005-2 7 06.10.2005 16:12
dd.mm.yyyy umwandeln in yyyy-mm-dd ? Unbekanntes_Pferd Datenbanken 6 07.06.2005 12:15
PDF in html umwandeln JEGO PHP Tipps 2005 2 12.04.2005 15:10
[Erledigt] Pixeldatei in Vektordatei umwandeln? Off-Topic Diskussionen 10 29.01.2005 15:39
[Erledigt] Wörter in Grafik umwandeln PHP-Fortgeschrittene 4 26.10.2004 11:48
2004-10-12 in Zahl umwandeln PHP Tipps 2004 2 12.10.2004 11:48
php-variable in javascipt-variable umwandeln PHP Tipps 2004 1 24.09.2004 16:46
Cookies in Sessions umwandeln PHP Tipps 2004 1 04.07.2004 16:09
datum in zahl umwandeln PHP Tipps 2004 1 02.07.2004 10:39

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
hieroglyphen umwandeln, hyroglyphen alfabet, text mit hieragliefen umwandeln, id3 codierung umwandeln, datei hyroglyphen, id3 hyroglyphen, wie kann man \hyroglyphen\ umwandeln, creative hyroglyphen, 2011 in hyrogliphisch, php hyroglyphen umwandeln, php auslesen datei hyroglyphen, mp3tag hyroglyphen, tecno \code umwandeln\, hieroglyphen in zahlen umwandeln, klartext in zahlen umwandeln, id3 tag hieroglyphen, ü umwandeln php, dateien hyroglyphen, hyroglyphen suchen, dateinamen hyroglyphen

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:11 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.