PHP: now playing advanced...

Diese Version von "Now-Playing" funktioniert hier im Pepilog schon seit langer Zeit, aber sie birgt auch einige Nachteile, die man nicht verschweigen sollte:

  1. es wird die IP-Adresse (oder dynamische URL) des Rechners mit dem SpyAmp-Plugin benötigt
  2. ohne Cache-Mechanismus wird bei jedem Seitenaufruf diese Datei abgefragt => Zeit und Traffic
  3. Im Falle einer Firewall kann dieses Verfahren scheitern.

Der Server holt sich also nach Bedarf die erforderlichen Daten (Pull-Technologie).

Praktischer wäre hier in diesem Fall also eher ein Plugin, das die Daten selbständig an den Server meldet, und zwar nur dann, wenn sich diese auch geändert haben (Push).

 Dies kann mit Hilfe von What's playing und einem PHP-Skript recht einfach erledigt werden.

Das Winamp-Plugin "What's playing" kann u.a. in eine lokale Datei die aktuellen Daten schreiben, aber in diesem Fall ist viel interessanter, daß es auch alle Daten an eine URL im Internet schicken kann, also an unser eigenes Skript, das diese Daten dann weiterverarbeitet (sprich: in eine Datei auf dem Server schreibt).

What\'s playing

Im Feld "URL" muß der Pfad zum Skript auf dem Webserver eingegeben werden (ohne "http://"). In diesem Beispiel liegt das Skript auf dem Webserver im Verzeichnis "/nowplaying". Und unter "Customisation" müssen die lokalen Pfade zu den Templates exakt angepasst werden. Wenn die Einstellungen dann alle stimmen, werden bei jedem neuen Lied nach der in "Customisation" eingestellten Zeit die Daten an das Skript auf dem Webserver geschickt.


<?
    
/*
    ======================================================================
    Titel                   : NowPlaying-WriteData
    Lizenz                  : GPL
    Homepage                : http://www.pepilog.de/
    Autor                   : Pepino ( nowplaying-advanced@pepilog.de )
    Beschreibung            : Lesen der per POST übergebenen Daten und
                              Schreiben in eine Text-Datei
    Systemvoraussetzung     : What's playing 1.3
                              (http://whatsplaying.sourceforge.net/)
    Ursprungs-Skript        : http://www.neonbubble.com/?section=350&article=10&sid=7
    ======================================================================
    */

    # set format variable and output filename here - definition below

    
$outputfilename "wa.txt";
    
$outputformat   "[artist] - [title] ([length])<br>n";


    
# outputfilename
    # this is the file that this script writes to (default wa.txt)
    # this file must be writeable by this script - this may require
    # CHMODding the outputfilename to 0666 or similar depending on your
    # setup


    # outputformat
    # define the format you want to display the winamp output as here
    # you can use normal html code to signify breaklines or
    # table row and cell delimiters, plus the following special codes

    #    [artist] - display artist name
    #    [album] - display album name
    #    [title] - display track title
    #    [genre] - display track genre
    #    [year] - display song year
    #    [comment] - display song comments
    #    [length] - display song length
    #    [position] - display track position
    #    [playlist] - display playlist size
    #    [quality] - display song quality
    #    [track] - display track number

    # for example to display the title with the artist in italics
    # on the line below and a breakline after you could use
    # "[title]<br><i>[artist]<br><br>"
    # default is set to display artist - title (length)


    # main code


    # get the number of songs passed in as history items

    
$history $_POST['history'];
    if(!
is_numeric($history)) exit;
    if(
$history<|| $history>100) exit;

    
$out "";

    for(
$loop=1;$loop<=$history;$loop++)
    {
        
$field "Artist".$loop;
        
$outline str_replace("[artist]",$_POST[$field],$outputformat);
        
$field "Album".$loop;
        
$outline str_replace("[album]",$_POST[$field],$outline);
        
$field "Title".$loop;
        
$outline str_replace("[title]",$_POST[$field],$outline);
        
$field "Genre".$loop;
        
$outline str_replace("[genre]",$_POST[$field],$outline);
        
$field "Year".$loop;
        
$outline str_replace("[year]",$_POST[$field],$outline);
        
$field "Comment".$loop;
        
$outline str_replace("[comment]",$_POST[$field],$outline);
        
$field "Length".$loop;
        
$outline str_replace("[length]",$_POST[$field],$outline);
        
$field "Pos".$loop;
        
$outline str_replace("[position]",$_POST[$field],$outline);
        
$field "PLSize".$loop;
        
$outline str_replace("[playlist]",$_POST[$field],$outline);
        
$field "Quality".$loop;
        
$outline str_replace("[quality]",$_POST[$field],$outline);
        
$field "Track".$loop;
        
$outline str_replace("[track]",$_POST[$field],$outline);

        
$outline stripslashes($outline);

        
// trim whitespaces and dashes from the string
        
while ($outline[0]==' ' || $outline[0]=='-')
        {
            
$outline substr($outline1);
        }

        
$out.=$outline;
    }

    
$fp = @fopen($outputfilename,"w+");
    if(
$fp && flock($fpLOCK_EX))
    {
        
fwrite($fp,trim($out));
        
flock($fpLOCK_UN);
        
fclose($fp);
    }
?>


Dieses Skript "WriteData" empfängt die vom Plugin gesendeten Daten und schreibt diese in eine Datei ("nowplaying/wa.txt"), die dann sehr einfach in eine bestehende HTML-Seite (in diesem Beispiel im Root-Verzeichnis) eingebaut werden kann:


<?php include("nowplaying/wa.txt"); ?>

    10.08.2003 · nachmittags · pe-ha-pe


 

1 Kommentar

  1.  Identicon von Suzan  Suzan schrieb am 11.08.2003 um 00:45 Uhr:

    Also ich benutze (seitdem ich "now playing" auf meiner Webseite habe) das "Now Playing" Plugin, das eine Html (oder PHP) Datei erzeugt und per ftp auf den Server spielt. Funktioniert bei mir nur unter XP richtig. Unter Win 98 benutze ich das "DoSomething" Plugin, das auch hervorragen funktioniert. SypAmp hat nie geklappt, weil das die Firewall nicht zulässt.

    Den Unterschied zwischen dem "What's Playing" und dem "Now Playing" Plugin hab ich irgendwie noch nicht kapiert. NowPlaying generiert eine fertige Html oder php Datei und Whats playing nur eine txt-Datei? Na keine Ahnung, funktioniert ja anscheinend alles....



Kommentar hinzufügen

Alle Angaben sind freiwillig!
Aber falls etwas eingetragen wird, dann bitte sinnvolle (!) Werte.


  


SpamProtector (was?):

Drücke den ersten Wert:


HTML ist nicht erlaubt.
URLs werden automatisch umgewandelt.
 

 


© Copyright 2002-2021 · Pepilog
Inhalt 
Startseite
Suche
Devotionalien

Kontakt
Impressum
Datenschutz

RSS 0.92

Comments 0.92
 
Suche
Beitrags-Suche
Kommentar-Suche

Die letzten Beiträge
Konstruktion der ernsten Beziehung (1)
Rutscht gut in 2015 (3)
gedankenschwanger (3)
Sie sterben niemals aus (1)
The scent of wonderful beer (0)
time runs (0)
Es herbstelt (2)
Jetzt mal Tacheles gefragt (12)
Linkschleudern (0)
Die Dekade ist voll (5)

Meinungen
Seb (Jetzt mal Tacheles...)
Uwe (Konstruktion der ernsten...)
Ambrosia (Bild-Test)
Sebastian (Bild-Test)
Vicy (Bild-Test)
Roman (Rutscht gut in 2015)
BroG (echter Name von Sido)
denise (Rutscht gut in 2015)
Yasmine (Bild-Test)
Aconcagua (Sie sterben niemals aus)

 
Heute vor x Jahren...
25. Januar
2003 Es paßt nicht, wenn...
2003 Magical Jelly Bean Keyfinder
2003 doch nicht so langweilig
2003 SpyAmp
2003 Palladium changes name
2005 echte Schneehasen
2005 when nothing else will do...
2005 Google-Browser?
2007 simple Anweisung an die Ehefrau
2007 Frau2Frau

 
Zahlenwerk
3020 Einträge (0.44 / Tag)
9556 Kommentare (1.40 / Tag)

... seit 03.05.2002 (19 Jahre 267 Tage)

Letzter Eintrag: 22.12.2016

bloggerei.de - deutsches Blogverzeichnis

Letzte 25 Suchanfragen
jbo hamster
gedicht wetter
werft den purschen zu poden n -1