Webboard

Pełna wersja: błąd związany z funkcją fread
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Witam, mam problem z funkcją fread(), używam samp query api
Kod PHP:
                require MYBB_ROOT."/panel/libs/SampQueryAPI.php";
                
$query = new SampQueryAPI('80.72.41.158''7718');
                if (
$query->isOnline()) {
                    
$aInformation $query->getInfo();
                    
$aPlayers $query->getDetailedPlayers();

                    if (!
is_array($aPlayers) || count($aPlayers) == 0) {
                        
$error_code .= 'Brak graczy na serwerze.';
                        eval(
"\$panel .= \"".$templates->get("panel_error")."\";");
                    } else {
                        foreach(
$aPlayers as $player) {
                            eval(
"\$panel_playersonline_row .= \"".$templates->get("panel_playersonline_row")."\";");
                        }
                        eval(
"\$panel .= \"".$templates->get("panel_playersonline")."\";");
                    }
                } else {
                    
$error_code .= 'Brak odpowiedzi od serwera.';
                    eval(
"\$panel .= \"".$templates->get("panel_error")."\";");
                } 
Cytat:Wewnętrzny błąd MyBB
MyBB napotkało błąd wewnętrzny i nie może kontynuować.
Typ błędu:Ostrzeżenie (2)Treść błędu:fread(): Length parameter must be greater than 0Lokalizacja:File: panel/libs/SampQueryAPI.php
Line: 138Kod:

Kod:
135.         $aDetails['gamemode'] = (string) fread($this->rSocket, $iStrlen); 
136.          
137.         $iStrlen = ord(fread($this->rSocket, 4)); 
138.         $aDetails['mapname'] = (string) fread($this->rSocket, $iStrlen); 
139.          
140.         return $aDetails; 
141.     } 

Fragment kodu:
Plik
Linia
Funkcja/inc/class_error.php
208
errorHandler->output_error
[PHP]
 
errorHandler->error
/panel/libs/SampQueryAPI.php
138
fread
/panel.php
258
SampQueryAPI->getInfo

Odwiedź Polski Support MyBB aby uzyskać pomoc.
Plik API nie był modyfikowany. Proszę o pomoc
var_dump($query) i sprawdź co zwraca odpowiedź z serwera. Wklej ją tutaj.
Zmieniłem sposób uzyskania graczy online. Dodałem na serwerze zapytanie zmieniające status gracza w bazie danych.