Преобразование статистики shoucast

У меня есть этот скрипт, чтобы проверить название песни и имя слушателя (DJ), но он не всегда работает так, как должен

это должно быть, если статус 1 показывает то, что захватывает статистика, показанная в автономном режиме. но он не хочет работать, я получил этот код от друга, он не хочет перекодировать его, но я не знаю, как заставить его работать с shoutcast 2.0

вот код

<?php

class radioStuff {

/**
Shoutcast specific class to grab server stats
*/

private $url = "http://sc.*REMOVED*.co.uk";
private $port = 80;

private $json_object;

public function __construct() {

$ch = curl_init();
// Disable SSL verification
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
// Will return the response, if false it print the response
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Set the url
curl_setopt($ch, CURLOPT_URL,$this->url . ':' . $this->port . '/stats?json=1');
// Execute
$result=curl_exec($ch);
// Closing
curl_close($ch);

$this->json_object = json_decode($result);
}

public function getHabboUrl() {
$imageString =  'http://www.habbo.com/habbo-imaging/avatarimage?user=' .     $this->json_object->servergenre . '&direction=4&head_direction=3&action=wlk&gesture=sml';

return $imageString;
}

public function getCurrentListeners() {

return $this->json_object->currentlisteners;
}
public function getSTATUS() {

return $this->json_object->streamstatus;
}
public function getCurrentDJ() {

return $this->json_object->servertitle;
}
public function getCurrentSong() {

return $this->json_object->songtitle;
}
}

$radio = new radioStuff();if($radio->getSTATUS == 1) {

$response = array(
'dj' => 'Radio statistics are offline!',
'song' => 'We are offline!', 'listeners' => ''
);
header('Content-Type: application/json');
echo json_encode($response);} else {

$response = array(
'dj' => $radio->getCurrentDJ(),
'song' => $radio->getCurrentSong(),
'listeners' => $radio->getCurrentListeners()
);
header('Content-Type: application/json');
echo json_encode($response);

}

0

Решение

У вас есть ошибка в вашем коде:

if($radio->getSTATUS == 1) {

должно быть

if($radio->getSTATUS() == 1) {

getSTATUS это функция, поэтому вы должны вызывать ее с ()

Кроме того, если статус потока 1 — поток активен, и если статус потока равен 0 — то ваша станция отключена, поэтому замените 1 на 0 в своем сравнении.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]