Jag har problem med att ladda upp filer, det tar så lång tid så browsern går i timeout. Har du hittat en lösning? Kan du inte dela upp sidan i två? En med "bearbetar..."-koden som slussar vidare till "färdig" som slussar vidare till vad-du-nu-tänkt-dig-att-javascriptet-ska-slussa-till? Många delar, men det är nog den enkla vägen(?). Nej problemet är inte löst. Pröva att anropa flush() precis före det som tar tid. Vissa webbläsare visar det som har tagits mot hittills. Vad vill du ska visas medan filen bearbetas då? En "no progress"-indikator eller nåt mer avancerat? Varför fungerar det inte att göra som jag sa ovan? upload.html -> process.php -> finished.php -> nextpage.html Måste du ha bearbetningen och visningen av resultatet i samma fil?Sända webbsidan i två omgångar till browsern eller köra skript medan en sida vis
Jag vill visa en sida medan filen bearbetas och när den är färdigt vill jag visa det i en ny sida.
Min fundering på lösning på detta var att försöka ladda en sida i två omgångar.
Jag vill att servern ska bearbeta halva koden och sedan föra över den delen av sidan.
Där efter göra den tunga bearbetningen av filen som laddas upp.
När det är ferdigt vill jag ladda sista delen av min websida som ska inneholla ett javascript som slussar vidare.
jag skapade följande kod för att testa att ladda sidan i två omgångar, men det fungerar ej, servern för inte över sidan förän hela koden är färdig bearbetad.
print("
<!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=\"gron_rod.css\" 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>
");
// FINS DET NÅGON KOD ATT LÄGGA HÄR SOM TVINGAR SERVERN ATT SENDA DENNA FÖRSTA BIT AV SIDAN?
sleep(10); //(vänta 10 sek) SKA ERSÄTTAS MED KOD SOM HANTERAR UPPLADNING AV FIL
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.
</div>
</body>
</html>
');
?>
Hur löser jag mitt problem
MVH
Torgny
Sv: Sända webbsidan i två omgångar till browsern eller köra skript medan en sida
Sv:Sända webbsidan i två omgångar till browsern eller köra skript medan en sida
Som jag har sidan nu så laddas ingenting fören sidan är färdigberbetad på servern och det tar för lång tid (det visas bara den vita tomma sidan som visas när man väntar).
Jag skulle vilja att halva sidan laddas med en gång (där ska det stå att sidan berbetas, var god vänta) och sedan ska resten av sidan beraberas färdig på servern (den tunga biten).
TorgnySv: Sända webbsidan i två omgångar till browsern eller köra skript medan en sida
Sv: Sända webbsidan i två omgångar till browsern eller köra skript medan en sida
Annars är ett alternativ kanske ajax? Eftersom du ändå räknar med att javascript finns.