Guest User

last_script

a guest
Apr 28th, 2012
233
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #! /usr/bin/php5 -f
  2. <?php
  3. error_reporting (0);
  4. set_time_limit(10);
  5. require('Scrobbler.php'); //php-скробблер
  6. $xml = "http://localhost:8000/listen.xspf";
  7. {
  8. $xml1 = simplexml_load_file($xml); //обращение к xspf файлу текущего потока
  9. $stream['creator'] = $xml1->trackList->track->creator; //выбираем значение из <trackList><track><creator> - исполнитель
  10. $stream['title'] = $xml1->trackList->track->title; //выбираем значение из <trackList><track><title> - название трека
  11. }
  12. //читаем данные о исполнителе и песне из last.xml
  13. $lastfm = "/var/www/i/last.xml"; //last.xml - файл, куда записывается текущая песня
  14. $lastxml = simplexml_load_file($lastfm);
  15. $last['creator'] = $lastxml->creator;
  16. $last['title'] = $lastxml->title;
  17. //сравниваем данные last.xml с только что полученными данными
  18. if ((strcmp ($last['title'], $stream['title'])) != 0 or (strcmp ($last['creator'], $stream['creator'])) != 0)
  19. // если отличается, то:
  20. {
  21. //записываем новые значения в last.xml
  22. $stream['creator'] = htmlspecialchars($stream['creator'], ENT_NOQUOTES);
  23. $stream['title'] = htmlspecialchars($stream['title'], ENT_NOQUOTES);
  24. $txtout="<?xml version='1.0' encoding='UTF-8'?>\r\n<last>\r\n<creator>".$stream['creator']."</creator>\r\n<title>".$stream['title']."</title>\r\n</last>";
  25. $fp = fopen ("/var/www/i/last.xml", "w");
  26. fwrite($fp,$txtout);
  27. fclose($fp);
  28. //пишем трек в JSON
  29. $stream = str_replace('&amp;','&',$stream);
  30. $stream = str_replace('"','',$stream);
  31. $jsonw='nowPlaying ({"mnt":{"artist":"'.$stream['creator'].'","title":"'.$stream['title'].'",},});';
  32. $fp = fopen ("/var/www/i/song.json", "w"); //путь к json
  33. fwrite($fp,$jsonw);
  34. fclose($fp);
  35. //отправляем на last.fm текущего исполнителя и песню:
  36. $scrobbler = new md_Scrobbler('UserName', 'Password');
  37. $scrobbler->add($stream['creator'], $stream['title'], '', 6000);
  38. $scrobbler->submit();
  39. }
  40. ?>
RAW Paste Data