Finns det något sätt att skriva ut info från ett skript under tiden det exekveras? exempelvis skriva ut en ny siffra för varje varv en loop går.
jmfr system("traceroute webforum.nu"); - varje hopp visas med en gång på skärmen.
går det?
12 svar · 451 visningar · startad av greymane
Finns det något sätt att skriva ut info från ett skript under tiden det exekveras? exempelvis skriva ut en ny siffra för varje varv en loop går.
jmfr system("traceroute webforum.nu"); - varje hopp visas med en gång på skärmen.
går det?
ehh.. så här kanske man kan göra
<?
$loop = 1;
while (stuff)
{
echo "Loop <strong>".$loop."</strong> klar!<br />";
$loop++;
sleep(3);
}
?>
flush ska jag titta på, den verkar vara vad jag letar efter. Inte helt lätt att förstå manualen där bara...
fuel:
Det där skriptet slutar ju aldrig :) den skriver inte ut nåt under tiden heller.
tja.. det var bara ett snabbexempel .. klart det skriver ut nåt och bara så länge det är nåt som gäller i while satsen
såg just din system("traceroute..
nej den skriver inte ut efter hand. den skrev ut första 103 raderna tillsammans sen väntade den igen.
hur ser din loop ut ?
jag kopierade din rakt av och testade...
jag begriper inte hur jag ska använda flush().. säg att jag har följande kod, var ska jag då sätta in flush() mm?
<?
funtion1();
echo "funktion 1 genomförd";
funktion2();
echo "funktion 2 genomförd";
funktion3();
echo "funktion 3 genomförd";
?>
ingen som vet och kan tänka sig att ge mig ett handtag?
Om du ska använda flush så fungerar det så här (inte kodagrant men)
ob_start_flush
echo "en sak"
echo "sak 2"
if(2 = ") { ehco "hej"; }
end_fush
ska då skriva ut; en sak sak2 hej.
Allt på samma gång. Om det är inte är det du efterfrågar så ska du inte använda flush.
Det du kan göra är dock att du gör en flush på en del av sidan och sedan skriver ut den. Efter det kör du en ny flush på resten av sidan och skriver andra halvan på en gång. Exakt hur koden ska se ut vet jag ej
greymane skrev:
ingen som vet och kan tänka sig att ge mig ett handtag?
Om du visar hur ditt försök ser ut och berättar på vilket sätt det inte fungerar finns det säkert någon som kan hjälpa dig.
jag hittade lösningen själv. Det var väldigt enkelt. Jag satte in flush(); efter det jag vill ha utskrivet. Alltså
echo "Hopp";
flush();