php.de

Zurück   php.de > php.de Intern > Wiki Diskussionsforum > Tutorials

Tutorials Hier findest Du Tutorials, welche nach und nach ein fertiges Script ergeben. Sehen, lernen & verstehen!

Antwort
 
LinkBack (2) Themen-Optionen Thema bewerten
Alt 22.04.2005, 00:21  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard aktuellen Winamp-Titel im Bild anzeigen mit PHP, by fantast

Das Tutorial wurde geschrieben von: fantast

--------------------------------

1. Schritt: Installation und Konfiguration des Winamp-Plugins
Download des Plugins (als .exe) entweder von
http://www.cc.jyu.fi/~ltnevala/nowplaying/download.html
oder von
http://www.winamp.com/plugins/details.php?id=138883

Das Installieren sollte klappen.
Dann bitte den Konfigurationsbildschirm aufmachen. Dahin kommt man per Preferences... -> Plug-ins -> General Purpose -> Now Playing plug-in. Dort folgende Einstellungen vornehmen:

Code:
    * General Options -> Enabled: true
    * HTTP Post -> HTTP Post Enabled: true
      Url: [Den kompletten URL, der auf das Script zeigt]
      Port: 80
      Extra data: Secret=[Das noch zu waehlende Passwort]

Am Rest der Einstellungen am besten nichts veraendern, es sei denn, ihr wisst was ihr tut.

2. Schritt: Einrichten und Anpassen des Scripts

PHP-Code:
<?php

$secret 
''# MD5-Hash des Passworts einfuegen

if (isset($_POST['Secret']) && isset($_POST['Playing']) && isset($_POST['Artist1']) && isset($_POST['Title1'])) {
  if (
strcmp(md5($_POST['Secret']), $secret) != 0header('403 Forbidden');
  else {
    
$f fopen('nowPlaying''w');

    if (
$_POST['Playing'] == 1fwrite($fstrip_tags($_POST['Artist1'].' - '.$_POST['Title1']));
    else 
fwrite($f'');

    
fclose($f);

    
header('200 OK');
  }
} else {
  
$f file('nowPlaying');

  
$text = (strlen($f[0]) > 1) ? 'now playing: '.$f[0] : '         ...:::SiLeNcE:::...'# Ersatztext einfuegen
  
$text strtr($text'äöüÄÖÜ''aouAOU');

  
header('Content-Type: image/png');

  
$i imagecreatetruecolor((strlen($text) * 6) - strlen($text) * 0.511); # eigenartige Berechnungen

  
$font imagecolorallocate($i000); # Textfarbe waehlen
  
$background imagecolorallocate($i160215160); # Hintergrundfarbe waehlen

  
imagefill($i00$background);
  
imagettftext($i7028$font'visitor1.ttf'$text); # ggf. Dateinamen aendern

  
imagepng($i);
  
imagedestroy($i);

}

?>

Hier passiert die ganze Magie. Zunaechst muesst ihr dieses Script auf euren Webspace laden. PHP muss dort natuerlich laufen. Als naechstes eine Datei namens "nowPlaying" erstellen, die vom Webserver beschreibbar sein muss. Das geht entweder per FTP oder per touch in der Konsole. Was sich dann auch noch anbietet, wenn mod_rewrite installiert ist, diese Zeilen zur Apache-Konfigurationsdatei (oder .htaccess) hinzuzufuegen:

Code:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule /nowplaying.png /nowplaying.php
</IfModule>
Damit ist das Script von aussen als PNG sichtbar und kann zum Beispiel in Foren wie diesem verwendet werden.

Danach braucht ihr die Schriftart "Visitor". Gibts hier: http://www.dafont.com/en/font.php?file=visitor. Diese Datei muss auch noch zum Script dazu. Ihr koennt natuerlich jede beliebige Schriftart nutzen, muesst dann nur den Dateinamen entsprechend aendern.

Als naechstes muessen noch einige Aenderungen an dem Script getroffen werden. Sechs Zeilen sind mit Kommentaren markiert. Zunaechst muesst ihr ein Passwort waehlen, sinnigerweise das selbe, dass ihr auch in Schritt eins verwendet habt. Davon muss jetzt ein MD5-Hash erzeugt werden. Das geht zum Beispiel hier: http://www.zappersoftware.com/Help/md5.php. Den Wert den euer Passwort da in der Zeile "MD5 Hash" erzeugt tragt ihr zwischen den Hochkommata ein. Es sollten genau 32 Zeichen sein.
Dann koennt ihr bei Bedarf den Ersatztext aendern, der angezeigt wird, wenn grad keine Musik laeuft. Desweiteren koennt ihr die Farben fuer Text und Hintergrund waehlen. Bitte im RGB-Format angeben.
Ausserdem, wenn Ihr Euch fuer eine andere Schriftart entschieden habt, muesst Ihr auch den Dateinamen einfuegen und unter Umstaenden die "eigenartigen Berechnungen" abaendern. Die sorgen dafuer, dass das Textfeld ungefaehr die richtige Groesse hat. Wie die im speziellen Fall auszusehen haben ueberlasse ich dem geneigten Leser.

3. Schritt: Ausprobiern !
Damit ist theoretisch schon alles getan. In diesem Fall ist ein und dasselbe Script fuer Entgegennehmen sowie Praesentieren der Daten verantwortlich. Wenn ihr in eurem Browser den URL des Scripts eingebt solltet ihr immerhin schon den Ersatztext sehen. Wenn ihr dann noch Winamp startet und einen Song abspielt, sollte auch nach kurzer Zeit und Reload der Kuenstler und Titel auftauchen !
Glueckwunsch, alles geklappt !
imported_Ben ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 22.04.2005, 06:54  
Gast
 
Beiträge: n/a
Standard

Zitat:
$i = imagecreatetruecolor((strlen($text) * 6) - strlen($text) * 0.5, 11);
Man könnte noch über ein kleinen Unweg (2.Bild erstellen und imagettfbbox() anwenden) und damit die Breite von $text abfragen.
In der "visitor1.ttf" haben nicht alle Zeichen die selbe Breite.
Ist nur eine Idee.
  Mit Zitat antworten
Alt 22.04.2005, 11:04  
Erfahrener Benutzer
 
Registriert seit: 14.01.2004
Beiträge: 2.543
fantast
fantast eine Nachricht über ICQ schicken
Standard

haste recht, is auch ein eher unsauberer workaround. diese formel da beruht auf erfahrungswerten, haut ungefaehr hin...
__________________
Was ist validität?
fantast ist offline   Mit Zitat antworten
Alt 15.05.2005, 13:47  
Erfahrener Benutzer
 
Registriert seit: 02.04.2008
Beiträge: 2.603
Corvin befindet sich auf einem aufstrebenden Ast
Standard Aktuellen XMMS-Titel im Bild anzeigen mit PHP

Und das ganze für XMMS-Nutzer:
http://www.developers-guide.net/foru...rafik-anzeigen
Corvin ist offline   Mit Zitat antworten
Alt 04.11.2006, 14:27  
Neuer Benutzer
 
Registriert seit: 07.10.2006
Beiträge: 3
[kamui]
[kamui] eine Nachricht über ICQ schicken
Standard

Wenn ich das ganze einbaue und dann die PHP-Datei aufrufe kommt folgender Fehler: Die Grafik "http://XXX/nowplaying.php" kann nicht angezeigt werden, wiel sie Fehler enthält ...
[kamui] ist offline   Mit Zitat antworten
Alt 04.11.2006, 14:33  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Entfern die Zeile header('Content-Type: image/png');
Dann wird der erzeugte Ausgabe-Code nicht mehr als Grafik-Binärcode interpretiert, sondern wieder als text/html.

Falls dort Fehler auftreten, die du nicht verstehst oder verbessern kannst, mach einfach einen neuen Thread im Forum auf und verlink diesen kurz hier.
Zergling-new ist offline   Mit Zitat antworten
Alt 04.11.2006, 14:37  
Neuer Benutzer
 
Registriert seit: 07.10.2006
Beiträge: 3
[kamui]
[kamui] eine Nachricht über ICQ schicken
Standard

Danke, hatte aber lediglich vergessen die Font hochzuladen XD
[kamui] ist offline   Mit Zitat antworten
Alt 02.01.2007, 15:27  
Gast
 
Beiträge: n/a
Standard

wie kann man die schriftgrösse ändern?
  Mit Zitat antworten
Alt 02.01.2007, 16:54  
CIX88
Gast
 
Beiträge: n/a
Standard

Guckst du mal selber im PHP-Handbuch:
http://www.php.net/manual/de/function.imagettftext.php
  Mit Zitat antworten
Alt 09.02.2007, 16:05  
Neuer Benutzer
 
Registriert seit: 09.02.2007
Beiträge: 4
tante_horst
Standard

Halli Hallo! Habe das Script ausprobiert. Allerdings bekomme ich den gerade gespielten Titel nicht angezeigt, sondern nur die Ausgabe im Browser, das gerade kein Titel läuft. Der Übergabe der Updates, was den laufenden Titel betrifft, über http post funktioniert. Folgende Schritte habe ich durchgeführt:

1. Plugin installiert

2. Http Daten in der Konfiguration des Plugins eingestellt.



Frage: Bei der Passwortangabe "secret", muss dort auch das PW als MD5 angeben werden?

3. MD5 Hash in php Datei eingefügt.

4. Erstellen der Datei "nowPlaying"

Zitat:
ls naechstes eine Datei namens "nowPlaying" erstellen, die vom Webserver beschreibbar sein muss.
5.Dateien hochgeladen:



6.CHMOD entsprechend gesetzt.
Frage: Wenn ich das Tutorial richtige interpretiere, soll die Datei ohne Endung auf den Webserver geladen werden, da die Endung der o.g Datei vom Script zugewiesen wird?!?

Habe ich was falsch gemacht oder etwas vergessen. Das alles sollte doch über TCP Port 80 funktionieren? Oder sind weitere Ports zu berücksichtigen. Wäre dankbar, wenn Ihr ein wenig Licht ins Dunkle bringen könntet. Bin nicht gerade das, was man einen PHP Profi nennt.

Hier noch der Link zu meiner HP:

http://www.fuldabrueck.net/radio/nowPlaying.php

Vielen Dank

th
tante_horst ist offline   Mit Zitat antworten
Antwort


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

LinkBacks (?)
LinkBack to this Thread: http://www.php.de/tutorials/21717-aktuellen-winamp-titel-im-bild-anzeigen-mit-php-fantast.html
Erstellt von For Type Datum
Playlist Shoutcast auslesen &bull; CBACK Community This thread Refback 06.09.2009 08:12
CBACK Community :: Thema anzeigen - Playlist Shoutcast auslesen This thread Refback 03.03.2009 10:04

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Fehlendes Bild nicht anzeigen tayke PHP Tipps 2007 4 09.03.2007 11:40
Bild aus Array anzeigen, warum klappt das nicht ? horstenpeter PHP Tipps 2006 4 12.02.2006 17:25
Bild in einem Dropdownfeld anzeigen lassen PHP Tipps 2007 2 19.12.2005 18:02
Bild beim Hyperlink nicht anzeigen themonk HTML, Usability und Barrierefreiheit 7 07.10.2005 18:49
Bild zu einer bestimmten Zeit anzeigen PHP Tipps 2005-2 26 31.08.2005 17:13
Bild aus URL in Datenbank anzeigen Diego1978 PHP Tipps 2005-2 2 07.08.2005 14:11
Wenn Bild nicht existiert anderes anzeigen Beitragsarchiv 14 31.07.2005 11:57
GD Image Stream als Bild anzeigen PHP Tipps 2005-2 2 22.07.2005 13:10
mit php ein Bild in einem Text anzeigen und mit css designen scheibo PHP Tipps 2005 3 15.05.2005 13:48
ImageStream als Bild im Browser anzeigen lassen! Finkman PHP Tipps 2005 8 29.03.2005 15:54
Bild aus Server anzeigen lassen flual2000 PHP Tipps 2004 4 26.10.2004 16:33
[Erledigt] Bildlink aus Datenbank als Bild auf der Homepage anzeigen.. PHP Tipps 2004 5 25.07.2004 20:08
[Erledigt] Bildurl aus Datenbank auf der Homepage als Bild anzeigen HTML, Usability und Barrierefreiheit 4 25.07.2004 20:05
Bild + URL auf neuer Seite anzeigen PHP Tipps 2004 8 18.07.2004 20:51
Bild Automatisch Anzeigen PHP Tipps 2004 5 12.07.2004 19:30

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
winamp titel anzeigen, winamp now playing anleitung, winamp php, winamp texte anzeigen, winamp titelanzeige, winamp bilder anzeigen, titelanzeige winamp, winamp schriftgröße ändern, winamp2icq now playing, winamp aktuellen titel anzeigen, winamp plugin titelanzeige, winamp titel einblenden, winamp schriftgröße, winamp 2 icq, winamp bild anzeigen, wie stellt man bei winamp ein das der titel bei icq angezeigt wird?, winamp titel, winamp titel abfragen, titelanzeige im winamp, titel anzeigen icq

Alle Zeitangaben in WEZ +2. Es ist jetzt 02:15 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.