Jag har en sida som ska ladda upp en fil. Medan fillen laddas upp vil jag visa en "väntasida". <b>I min webbläsare öppnas hela sidan på en gång efter väntetiden som sleep gör.</b> Som sagt, IE vill ha ett större svar innan den ritar upp något. Jag vill dock minnas att man kan fixa det genom att bara lägga in en lång kommentar i början av HTML-koden, typVarför fungerar inte "flush();" för mej
Jag har skapat följande sida för att testa att ladda en sida i två etapper.<?
set_time_limit(0);
ob_start();
//////////////////////////////////////////////////////////
// Förbered automatisk site root
$var=$_SERVER['DOCUMENT_ROOT'].substr($_SERVER['PHP_SELF'],0,strpos($_SERVER['PHP_SELF'], '/', 1))."/modul/ts/ts_var.php";
$fun=$_SERVER['DOCUMENT_ROOT'].substr($_SERVER['PHP_SELF'],0,strpos($_SERVER['PHP_SELF'], '/', 1))."/modul/ts/ts_fun.php";
require $var; //variabler till bla databasen
require $fun; //Functioner bla. inloggad koll
////////////////////////////////////////////////
// KODEN OVAN STANDARD ÖVERT PÅ VARJE SIDA
////////////////////////////////////////////////
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Uppladdning</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="<?=$ts_css[ts_ferg ()]?>" rel="stylesheet" type="text/css">
</head>
<body>
<div align="center">
<p> </p>
<p class="Rubrik_Huvud">Filen laddas upp nu</p>
<p> </p>
<p> </p>
<p><img src="grafik/cirkel4b.gif" width="209" height="207"></p>
<p> </p>
</div>
<?
echo str_pad(" ",300);
ob_flush();
flush();
sleep(10);
// javaskriptet fungerar
/*print("<script language=\"javascript\"> \n <!--\n document.location.href='index.php';\n //--> \n </script>");
*/
print('
Nästa sidan laddas automatiskt<br>
när filen är uppladdad
<br>
om inte klicka här.
</body>
</html>
');
?>
Vad är fel i koden?
I min webbläsare öppnas hela sidan på en gång efter väntetiden som sleep gör.
När jag fått sidan att fungera ska jag bytaut sleep mot den kod som laddar upp den fil som är vald i formuläret på den sida som postas hit.
mvh Torgny
Sv: Varför fungerar inte "flush();" för mej
Vilken webbläsare använder du? Firefox kan ibland rita upp en delvis mottagen sida, medan IE kräver mer text (om inte t.o.m. hela sidan) innan den ritar upp något.Sv: Varför fungerar inte "flush();" för mej
<b><!-- XXXXXXXXXXXXXXX ... [ en massa X här ] ... XXXXXXXXXXXX --></b>