Rahinaa.biz / Lehti / NowPlaying with PHP
Julkaistu: 9. tammikuuta 2008 Kategoria: PHP
Viime kerralla lupasin seuraavaksi puhua Nyt Soi-pluginista, jos sitä siksi voi kutsua sillä se ei vielä itsekseen tee mitään. Oikeastaan se on vain PHP-koodihärdelli, joka käsittelee tekstitiedostoja, jotka sisältävät kappaletiedot, se ei itse niitä koneeltani hae. Toisekseen koodissa olisi valmiina tietokantaansyöttämistoiminto, mutta pienen virheen takia emme siitä puhu – tekstitiedostot kelpaavat hyvin.
Aluksi tarvitsemme jotain joka voi toimia yhdessä mediasoittimesi, tai iPodisi kanssa. Tähän on monia eri reittejä, ja WinAmp 5 käyttäjänä minä valitsin sille toimivan alustan. Tähän hommaan tällä suositulla soittimella on useita liitännäisiä, mutta minä päädyin suomalaiseen Now Playing plug-in 2 hördelliin.
Aluksi tarvitsemme mediatiedostot jotka palvelimelle siirrämme. Minä konfiguroin Now Playing-pluginin tekemään sen. Laitoin sen siirtämään kappaleen nimen, pituuden, arvion, ja artistin erikseen erillisissä tiedostoissa. Toisaalta olisi tämän voinut tehdä yhdelläkin tiedostolla, mutta minä halusin näin.
Kuvankaappauksesta joka näkyy postin yläosassa – klikkaamalla suurenee, näette hienosti miten tämä tarkemmin sanottuna onnistuu, miten asetukset asetetaan Now Playing-pluginiin. Sitten siirrytään seuraavaan hommaan PHP:n käyttämiseen. Textpatternin kun kerran olemme loin uuden osion ja ajoin sinne uuden sivupohjan johon sijoittelin koodit, mutta ne jotka eivät Textpatternia käytä voivat sijoittaa koodit myös oikeaan PHP-tiedostoon ja käyttää sitä.
Aluksi aloitamme tiedoston avaamisella:
$kappale = file_get_contents('http://www.domain.com/path/kappale.txt');
echo $kappale;
Eikö ollutkin helppoa. Tämä simppelisti palauttaa tiedoston sisällön, eli kuunnellun kappaleen nimen. Ainoa vaikeampi koodaus tapahtuu, kun laitamme sivuille milloin tiedosto on soinut. Tähän tarvitsemme myös tietoa milloin tiedosto on siirretty ja miten pitkä soitettava kappale on. Viimeisimmän näistä saamme siirretystä tiedostosta nimmeltä pituus.txt, joka kantaa sisällään kappaleen pituuden, jonka ilmoittaminen onnistuu Now Playing-pluginilla.
Nyt revitään pituus irti tiedostosta:
$pituus = file_get_contents('http://www.domain.com/path/pituus.txt');
Tarvitsemme myös kyseisen ajan, sen ajan mikä on nyt. Tosin tämä ei välttämättä toimi jos nettisivustojesi palvelimen kello on päin persettä.
$nyt= time();
Sitten tarvitsemme tiedon milloin kappale on soitettu. Sehän on soitettu silloin kun viimeksi pituus.txt-tiedostoa on muokattu, sehän kuitenkin luotiin kun kappale soitettiin.
$toinenpituus = 'path/pituus.txt'; // Tiedoston sijainti
$toinenpituus = strtotime(date('Y-m-d H:i:s', filemtime($toinenpituus))); // Tiedoston muokkausaika
Tämä palauttaa tiedon sekuntteina siitä kuinka kauan on kulunut sitten vuoden 1970 ensimmäisen päivän. Outo taktiikka, mutta toimivin sillä nyt vertailu helpottuu.
$sekuntit = $nyt - $toinenpituus;
Noin saimme tiedon milloin tiedosto on luotu nykyhetkestä lähtien – sekunteina tietysti. Tämä siis vastaa tietoa milloin musatiedosto on soitettu. Saadaksemme kokonaisia tunteja ja minuutteja tarvitsemme jotain vastaavaa:
$minuutit = floor($sekuntit/60);
$tunnit = floor($minuutit/60);
$paivat = floor($paivat/24);
Nyt onnistuneesti voimme palauttaa tiedon:
echo 'Tiedosto soitettiin '.$paivat.' päivää, '.$tunnit.' tuntia ja '.$minuuttia.' sitten.';
Tämä valmiina tulostaa esimerkiksi:
Tiedosto soitettiin 0 päivää 5 tuntia ja 12 minuuttia sitten.
Valmiina outputista voidaan saada vaikka tällaista, kun olin vähän jatkellut koodin kähiettämistä.
Nyt voi ihmetellä miksi en tyytynyt käyttämään Last.fm:ää tai vastaavaa palvelua, joka helpottaisi lähes kaikkea. Yksinkertaisesti koska ne ovat kolmannenosapuolen viritelmiä. Kun heidän palvelunsa mokaa tai hajoaa, näkyy se täälläkin päin. Yrityisesti kun Last.fm on lähiaikoina räjähdysmäisesti kasvanut, ja samalla palvelinten nopeus on hieman hidastunut. Tosin hitaampia ne olivat viime vuoden alussa, ennen laitteistopäivityksiä.
Kommentointi suljettu [0] Tagit: php
Tämän bloggauksen kommentointi on suljettu, sen oltua auki 9. tammikuuta 2008 lähtien kuusi viikkoa.
Elämä on pääasiassa kahvia, taiteilua, ohjelmointia, musaa, tunteita, nauttimista, aurinkoa, kävelemistä, kokkaamista, elokuvia hitusella kauneutta, sekä vastakohtaista rumuutta.
Jukka, 19,
web developer,
haahuilija,
musafriikki
© Copyright 2008 Jukka Svahn. All rights reserved. Sivun ylälaitaan