WinFuture-Forum.de: Php: Puffern Verhindern - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Php: Puffern Verhindern


#1 Mitglied ist offline   MyRaR 

  • Gruppe: Mitglieder
  • Beiträge: 4
  • Beigetreten: 17. August 06
  • Reputation: 0
  • Wohnort:Schweiz

geschrieben 17. August 2006 - 13:57

Salü,

Möchte in einer Seite mehrere Inhalte verzögert laden. Dafür gibts in PHP ja den Befehl "sleep(x);".
Interpreter bzw. Browser puffern aber den Script und geben ihn dann komplett aus.

Beispielsscript:

<?php
echo "Zeile 1<br>";
sleep(10);
echo "Zeile 2";
?>


Wie lautet der Befehl an den Browser, dass er diese Seite nicht puffern darf?

Grüessli
MyRaR

Dieser Beitrag wurde von MyRaR bearbeitet: 17. August 2006 - 13:58

0

Anzeige



#2 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.942
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 17. August 2006 - 14:03

Dann schalt den Cache über den http-header aus, damit der Browser jedesmal die Seite vom Server zieht.

Btw...du weißt hoffentlich, dass das nicht benutzerfreundlich ist. Ich würde sofort sagen, dass deine Seite mist ist, weil sie so langsam lädt.
0

#3 Mitglied ist offline   MyRaR 

  • Gruppe: Mitglieder
  • Beiträge: 4
  • Beigetreten: 17. August 06
  • Reputation: 0
  • Wohnort:Schweiz

geschrieben 17. August 2006 - 14:58

Diese Version geht nicht. Es braucht hier wirklich einen Befehl der puffern verhindert, damit die Seite nicht zuerst ganz geladen und dann ausgegeben, sonder in meinem Beispiel zuerst die 1. Zeile ausgibt... dann 10 Sekunden (bewusst erhöht für Demonstrationszweck, für Original kleiner aber einige Segmente) lädt und danach erst die 2. Zeile kommt.

Ich hoffe, ich kann dich beruhigen, wenn ich sagen, dass ich diese Seite nicht vielen Leuten zumuten werde und bewusst eine hohe Ladezeit haben soll. :)
0

#4 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.942
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 17. August 2006 - 20:43

hmm...

Hast du mal andere Funktionen, wie time_sleep_until ausprobiert?
0

#5 Mitglied ist offline   MyRaR 

  • Gruppe: Mitglieder
  • Beiträge: 4
  • Beigetreten: 17. August 06
  • Reputation: 0
  • Wohnort:Schweiz

geschrieben 17. August 2006 - 23:04

Zitat

time_sleep_until -- Make the script sleep until the specified time


Wie beschrieben, so funktioniert es auch. Wenn man 10 Sekunden als Zeitspanne eingibt, dann lädt es / schläft es 10 Sekunden und gibt dann den Text aus.

Die Befehl scheint nicht das entscheidende zu sein, sondern dass man dem Browser sagen müsste, dass er nicht vorladen darf und die Teile nacheinander implementieren müsste.
0

#6 _PelzigesWaldtier_

  • Gruppe: Gäste

geschrieben 18. August 2006 - 17:31

Vielleicht findest du ja hier was hilfreiches:

http://de3.php.net/m....outcontrol.php
0

#7 _rjchio_

  • Gruppe: Gäste

geschrieben 19. August 2006 - 22:28

Vielleicht hilft dir das weiter: flush() :P
Musst du vor jedem sleep() setzten.

Edit: Du musst es vor und nicht nach dem sleep() setzten :smokin:

MfG rjchio

Dieser Beitrag wurde von rjchio bearbeitet: 20. August 2006 - 09:44

0

#8 Mitglied ist offline   [U]nixchecker 

  • Gruppe: aktive Mitglieder
  • Beiträge: 347
  • Beigetreten: 17. Mai 05
  • Reputation: 0
  • Wohnort:Bayern
  • Interessen:Informatik, Linux, Rollerbladen, Bodybuilding, GungFu

geschrieben 19. August 2006 - 22:36

Also das wäre ein Fall für ne Ajax Implementierung.

Aber anstatt nach irgendeiner Funktion zu suchen könntest du uns auch einfach sagen, was du genau vorhast und wir dir dann evtl ne Lösung dafür nennen.

Denn "Möchte in einer Seite mehrere Inhalte verzögert laden" ist ja sehr vage.
0

#9 Mitglied ist offline   MyRaR 

  • Gruppe: Mitglieder
  • Beiträge: 4
  • Beigetreten: 17. August 06
  • Reputation: 0
  • Wohnort:Schweiz

geschrieben 20. August 2006 - 09:34

Ok gerne. Ich include mit "<iframe>" eine gewisse Anzahl Seiten in meinen Script und bei zu vielen Seiten können nicht alle geladen werden.
Das ganze ist eine Spielhilfe für ein Browsergame, wo dies absolut legal ist.

Grüessli

Edit: Funktion "flush();" hab ich versucht und ging nicht, jetzt hab ich's nochmal getestet, aber im Firefox... und siehe da... es funktioniert! :smokin:
So werd ich wohl einfach meinem Script im FF verwenden müssen. - Danke für eure Hilfe!

Dieser Beitrag wurde von MyRaR bearbeitet: 20. August 2006 - 10:37

0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0