ThWboard Support-Forum (Archiv)

Ort: / Boardübersicht / PHP / MySQL Probleme / Problem mit fsockopem und leerer Variablen


Seite 1 von 1

PhoenixDH schrieb am 24.02.2005 um 22:12 Uhr

Ich will aus folgendem Quelltext alles in eine Variable schreiben wo vorher echo steht, aber das geht net, wieso ?

function streaminfo($file,$port) {
  $fp = @fsockopen ($file, $port, &$errno, &$errstr, 5);
  if (!$fp) {
          echo "Could not connect to <b>{$file}:{$port}</b> ({$errno}) - {$errstr}\n";
  } else {
     fputs ($fp, "GET /7 HTTP/1.1\r\nUser-Agent:Mozilla\r\n\r\n");
     while (!feof($fp)) {
      $stream = fgets($fp,1024);
       }
     list(,$stream) = explode("<body>",$stream);
     list($stream) = explode("</body>",$stream);
     list($user, $status, $user_peak, $user_max, ,$bitrate, $song) = explode(",",$stream);
     if($status=="0") {
      echo "<b>{$file}:{$port}</b> is offline!";
     } else {
    echo "<b>{$file}:{$port} on air!</b><br><br>
    <b>user still connected:</b> {$user} of {$user_max}<br>
    <b>user peak:</b> {$user_peak}<br>
    <b>bitrate:</b> {$bitrate} kbits/s<br>
    <b>current song:</b> {$song}<br>";

     }
     fclose($fp);
  }
} 

Ich habe es mit

$description = "<b>{$file}:{$port} on air!</b><br><br>
    <b>user still connected:</b> {$user} of {$user_max}<br>
    <b>user peak:</b> {$user_peak}<br>
    <b>bitrate:</b> {$bitrate} kbits/s<br>
    <b>current song:</b> {$song}<br>";

z.B. versucht ! Aber immer ist die Variable leer ! Woran liegt das ?

daGangstar schrieb am 24.02.2005 um 23:41 Uhr

gibst du denn $description mit

return $description;

zurück ?

theDon schrieb am 25.02.2005 um 00:16 Uhr

wie waere es statt ``echo 'bla';'' mit ``$foo = 'bla';''?

PhoenixDH schrieb am 25.02.2005 um 07:23 Uhr

Geb da nix mit return zurück ! Muss ich das ?

@thedon, mach ich doch in meinem 2. Beispiel unten oder nicht !?

Habs jetzt so probiert, auch nix:

function streaminfo($file,$port) {
  $fp = @fsockopen ($file, $port, &$errno, &$errstr, 5);
  if (!$fp) {
          $description = "Could not connect to <b>$file:$port</b> ({$errno}) - {$errstr}\n";
     return $description;
  } else {
     fputs ($fp, "GET /7 HTTP/1.1\r\nUser-Agent:Mozilla\r\n\r\n");
     while (!feof($fp)) {
      $stream = fgets($fp,1024);
       }
     list(,$stream) = explode("<body>",$stream);
     list($stream) = explode("</body>",$stream);
     list($user, $status, $user_peak, $user_max, ,$bitrate, $song) = explode(",",$stream);
     if($status=="0") {
     $description = "<b>{$file}:{$port}</b> is offline!";
     return $description;
     } else {
    $description = "<b>$file:$port on air!</b><br><br>
    <b>user still connected:</b> $user of $user_max<br>
    <b>user peak:</b> $user_peak<br>
    <b>bitrate:</b> $bitrate kbits/s<br>
    <b>current song:</b> $song<br>";
     return $description;
     }
     fclose($fp);
  }
} 

theDon schrieb am 25.02.2005 um 20:49 Uhr

das return muss hinter dem fclose() stehen.

PhoenixDH schrieb am 25.02.2005 um 21:36 Uhr

Danke, aber ich habs hinbekommen !

Seite 1 von 1