Allora, lo script funziona, ma non come voglio io. Ecco il funzionante:
Codice PHP:
<?php
$server['ip'] = 'dierre.xxxx.xxxx';
$server['port'] = 2593;
$server['prefix'] = 32; // SPACE
$server['user'] = 'dierre';
$server['password'] = 'xxxx';
$user1 = "sbrodolino123";
$pass1 = "ciao";
function create_account($user,$pass)
{
global $server;
$fp = @fsockopen($server['ip'],$server['port'],$errno,$errstr,2);
if ($fp == null) { echo "male";
return false;}
if(fputs($fp,chr($server['prefix']))) echo "[b]Inserisco lo spazio[/b]
";
else echo "[b]NON inserisco lo spazio[/b]";
sleep(1);
if(fputs($fp,$server['user']."\n")) echo "[b]Inserisco lo user[/b]
";
else echo "[b]NON inserisco lo user[/b]";
sleep(1);
if(fputs($fp,$server['password']."\n"))echo "[b]Inserisco la password[/b]
";
else echo "[b]NON inserisco la password[/b]";
sleep(1);
if(fputs($fp,"account add $user $pass\n"))echo "[b]Inserisco l'acco[/b]
";
sleep(1);
fputs($fp,"a\n");
sleep(1);
$leggi .= fgets($fp,4096)."
";
$leggi .= fgets($fp,4096)."
";
$leggi .= fgets($fp,4096)."
";
$leggi .= fgets($fp,4096)."
";
$leggi .= fgets($fp,4096)."
";
$leggi .= fgets($fp,4096)."
";
$leggi .= fgets($fp,4096)."
";
echo $leggi;
fclose($fp);
echo "ciao";
return true;
}
create_account($user1,$pass1);
?>
Ora, dato che la console non restituisce un numero preciso di righe, avevo pensato che usando un ciclo while dopo aver fatto tutti i fputs funzionasse, per esempio:
Codice PHP:
while(!feof($fp)){
echo fgets($fp,4096)."
";
}
fclose($fp);
Invece no, perché usando il while ecco l'errore che si genera:
codice:
Proxy Error
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request GET /inseraccount.php.
Reason: Error reading from remote server
Qualcuno sa dirmi il perché? Usare una serie di fgets in serie funziona ma ovviamente non è quello che voglio, in quando non so quante righe dovrebbe leggere.