Eine kleine Streambox, aber wie?

robin591

Grünschnabel
Hallo liebe User von tutorials.de,

Ich betreibe im Moment ein ganz ganz kleines Radio mit 1 Zuhörer :-).

Jetzt habe ich einen Code hier rumliegen:
HTML:
<strong>Live&nbsp;DJ:</strong><i> keiner </i>  <br />
<strong>Bitrate:</strong>&nbsp;128kbps<br />
<strong>Zuhörer:</strong>&nbsp;0<br />
<strong>Song:</strong> <font color=\"red\"><b> Stream offline </b></font>

Nun möchte ich, da im Moment nur Daten stehen, die natürlich nicht stimmen, dass mit PHP diese Daten immer aktuell bleiben.

Ich habe mir schon sämtlichen Code für eine Streambox durchgelesen, aber nirgends was richtig passendes gefunden.
Ich hoffe, man kann mir helfen und ich danke dann schon mal im Voraus.

Mit freundlichen Grüßen
robin591
 
Zuletzt bearbeitet:
Ich habe so eine Ahnung als ob du noch nie was mit PHP gemacht hast....

Hast du dir schon Gedanken gemacht, wei die Informationen ins PHP kommen?
 
Es gibt 3 Möglichkeiten, die ich dir anbieten kann.

1.) Forensuche :suchen:
Beispiel




2.) PHP Anfänger

Das ist eine Internetseite, auf der du dir die Streambox automatisch Generieren lassen kannst.

Streambox Link

3.) PHP Fortgeschrittene

PHP:
<?php
$server = "deinserver.de";
$port = 8000;
    $fp = @fsockopen($server, $port, $errno, $errstr, 30);
    
    if ($fp) {
        fputs($fp, "GET /7.html HTTP/1.0\r\nUser-Agent: XML Getter (Mozilla Compatible)\r\n\r\n");
        while(!feof($fp))
            $page .= fgets($fp, 1000);
        fclose($fp);
        $page = ereg_replace(".*<body>", "", $page);
        $page = ereg_replace("</body>.*", ",", $page);
        $numbers = explode(",", $page);
        $shoutcast_currentlisteners = $numbers[0];
        $connected = $numbers[1];
        if($connected == 1) {
            $radio_status = 1;
            $wordconnected = "yes";
        }
        else
            $wordconnected = "no";
        $shoutcast_peaklisteners = $numbers[2];
        $shoutcast_maxlisteners = $numbers[3];
        $shoutcast_reportedlisteners = $numbers[4];
        $shoutcast_bitrate = $numbers[5];
        $shoutcast_cursong = $numbers[6];
        $shoutcast_curbwidth = $shoutcast_bitrate * $shoutcast_currentlisteners;
        $shoutcast_peakbwidth = $shoutcast_bitrate * $shoutcast_peaklisteners;
    }

## output on ##    
echo '<html><title>Shoutcasthack by bikky</title><body>';
echo 'Anzahl der hoerer: ' . $shoutcast_currentlisteners . '<br />';
echo 'Bitrate: ' . $shoutcast_bitrate .'kb/s <br />';
echo 'Zuhoerer Peak: ' . $shoutcast_peaklisteners . '<br />';
echo 'Maximale Zuhoerer: ' . $shoutcast_maxlisteners . '<br />';
echo 'Aktueller Song: >>' . $shoutcast_cursong . '<< <br />';
echo '</body></html>';
## output off ##
?>
Mit diesem Code kannst du den Shoutcast auslesen lassen.

Der Ersteller des Codes ist bikky.
 
Danke, aber nun möchte ich auch, dass der aktuelle DJ angezeigt wird.

Ich habe so eine Ahnung als ob du noch nie was mit PHP gemacht hast....

Hast du dir schon Gedanken gemacht, wei die Informationen ins PHP kommen?

Ja ich habe auch schon die Funktion fsockopen() im Kopf gehabt, kam nur irgendwie nicht weiter.
 
Das mit der "DJ" Anzeige ist ein wenig schwieriger.
Wenn du immer den DJ Anzeigen willst, der gerade aktuell Sendet, dann musst du dir einen Wert vom Shoutcast nutzen um da dann den DJ Namen einzutragen.

z.B. Du nimmst AIM zum übertragen vom DJ

AIM = "yaslaw"

Den Wert überträgst du natürlich, wenn du Sendest.

Danach musst du nur noch eine Abfrage stellen um den DJ auszulesen.

PHP:
$server = "riff.pleasuredome-web.de";                       # Server-URL
$port = "8130";                                                                           # Port

$fp = @fsockopen($server, $port, $errno, $errstr, 30);     # Verbindung zum Server herstellen

if ($fp) {

  fputs($fp,"GET /index.html HTTP/1.0\r\nUser-Agent: XML Getter (Mozilla Compatible)\r\n\r\n");

  while(!feof($fp))
    $page .= fgets($fp, 1000);

  fclose($fp);

  $page = ereg_replace(".*<body>", "", $page);
  $page = ereg_replace("</body>.*", ",", $page);

  preg_match('/<a href="aim[^>]*>([a-zA-Z0-9 .-:_]*)<\/a>/', $page, $treffer);

  $moderator = $treffer[1];

	if($moderator == "") $moderator = "Auto DJ";                                                                                                                                     # Wenn kein DJ auf dem Stream ist, den AUTO DJ benennen.
	

## Hier trägst du den Moderator ein damit dieser angezeigt wird. 

        if($moderator == "yaslaw")
			{
			$mod_name = "Dein Name";
			$mod_bild = "http://www.tutorials.de/forum/images/dein_foto.jpg";
			$mod_studio = "dein Ort";
			$mod_sendung = "Sendungsdetails";
			}

## Den Vorgang kannst du so oft du möchtest wiederholen für mehr DJs.


	echo "Moderator: ".$mod_name."<br>";
	echo "Bild: <img src='".$mod_bild."'><br>";
	echo "Studio: ".$mod_studio."<br>";
	echo "Sendung: ".$mod_sendung"<br>";
	
?>

Ich empfehle dir aber, dass du eine MySQL Datenbank erstellst und die Moderatoren Info direkt über MySQL ansteuerst.

Ein kleines LIVE Beispiel sießt du auf http://www.riff-radio.net
Dort wird das Script von mir genutzt und funktioniert super mit MySQL Abfrage.
 
Zuletzt bearbeitet:
So Ich habe nun beide PHP-Codes miteinander verbunden und es ist ein gutes Ergebnis gerworden. Danke nochmal an alle, die mir geholfen haben.

Danke.

Mit freundlichen Grüßen
robin591
 
huhu ihr lieben
ihab da ein kleines problem mit denn script

PHP:
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in /users/j-radio/www/includes/wunsch.inc.php on line 81

und das is die zeile dazu
PHP:
  echo "Sendung: ".$mod_sendung"<br>":

und ja ich bin ein in sachen php
 
Du hast dort nen ":" statt einem ";" am Ende.

So sollte es aussehen, steht aber eigentlich auch in der Fehlermeldung so drin.^^
PHP:
echo "Sendung: ".$mod_sendung."<br>";

*edit*
Stimmt hab ich übersehen.
 
Zuletzt bearbeitet:
und nach dem Variablenname fehlt ein . um die Strings zu verknüpfen.

Also, eine Zeilem 2 Flüchtigkeitsfehler...

PHP:
echo "Sendung: ".$mod_sendung."<br>"; 
//oder
echo "Sendung: {$mod_sendung}<br>";
 
und nach dem Variablenname fehlt ein . um die Strings zu verknüpfen.

Also, eine Zeilem 2 Flüchtigkeitsfehler...

Code:
echo "Sendung: ".$mod_sendung."<br>"; 
//oder
echo "Sendung: {$mod_sendung}<br>";

ich hab beides versucht
aber immer noch das selbe prop
PHP:
Parse error: syntax error, unexpected $end in /users/j-radio/www/includes/wunsch.inc.php on line 77
 
Zurück