PHP Stream: Lesen, bis nichts mehr da ist
Verfasst: 29.09.2007, 16:23
Hm, ich dachte es wäre ne einfach Sache. Ich möchte mich mit einem SMTP-Server verbinden:
Im Prinzp möchte ich in "Read all" einfach alle Anworten lesen und ausgeben, die mir der Server aufgrund meines EHLOs gibt (das kann eine oder mehrere Zeilen sein). Leider wird die Schleife dort nie verlassen, PHP bricht mit "Maximum execution time exceeded" ab.
Wie kann ich in dem Netzwerk-Stream feststellen, dass der Server nichts mehr sendet?
Code: Alles auswählen
$fp = fsockopen(sHost, 25);
$sGet = fgets($fp, 1024);
if (substr($sGet, 0, 3) != "220")
return "Statuscode falsch (service not ready?): $sGet";
# HELO
fputs($fp, "EHLO localhost\r\n");
# Read all
while(!feof($fp))
{ $sGet = fgets($fp);
print $sGet."<br>";
}
Wie kann ich in dem Netzwerk-Stream feststellen, dass der Server nichts mehr sendet?