Fsockopen(); / fgets(); haalt half resultaat op

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Sven de Haas

Sven de Haas

22/12/2014 11:46:50
Quote Anchor link
Hallo,
Met onderstaand script haal ik een XML bestand op van een shoutcast server. (live audiostream).

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
ini_set('max_execution_time', '10');

$connect = @fsockopen('ipadress', '8000', $errno, $errstr, 3);
$password = "password";

if(!$connect)
{

    echo("Problemen met verbinden streamserver");
}

else
{
    fputs($connect, "GET /admin.cgi?pass=".$password."&mode=viewxml HTTP/1.0\r\nUser-Agent: SHOUTcast Song Status (Mozilla Compatible)\r\n\r\n");

    while (!feof($connect))
    {

        $xmlFile = fgets($connect, 8192);
    }

    header('Content-Type: application/xml; charset=utf-8');
    echo ($xmlFile);  
}


fclose($connect);

?>


Dit werkt over het algemeen wel goed. Hij maakt netjes een XML bestand met alle data.
Het vreemde is dat het script problemen gaat krijgen wanneer en 20 of meer luisteraars zich op de stream verzamelen.
Dan laadt hij slechts de laatste paar regels van het XML bestand.

Kan iemand mij uitleggen wat er hier fout gaat?
 
PHP hulp

PHP hulp

27/11/2024 09:05:37
 
- SanThe -

- SanThe -

22/12/2014 11:55:33
Quote Anchor link
Op regel 17 overschrijf je steeds $xmlFile.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$xmlFile
= '';
while (!feof($connect))
{

   $xmlFile .= fgets($connect, 8192);
}

?>
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.