phpbar.de logo

Mailinglisten-Archive

[php] header("Location: ..."); sofort zur Anwendung bringen

[php] header("Location: ..."); sofort zur Anwendung bringen

"Mario Haßler" M.Hassler at gmx.de
Mi Jul 13 15:15:50 CEST 2011


Florian Grell schrieb:

> [...] Mein Vorschlag:
> 
> <?php
> if(file_exists($filename)) {
>   // Wenn Datei existiert, wird sie ausgegeben.
>   header('Content-Type: image/jpg');
>   header('Content-Length: '.filesize($filename));
>   header('Last-Modified: '.filemtime($filename));
>   header('Cache-Control: max-age='.$lifetime);
>   readfile($filename);
> } else {
> [...]

Das scheint ein bisschen besser zu funktionieren, und so habe ich das
nun auch übernommen. Danke für die Anregung.

Am Ziel bin ich trotzdem noch nicht so ganz, aber ich vermute, dass das
Problem an einer ganz anderen Stelle steckt:

Wenn ich mit der Maus über eine Reihe von Links fahre, gibt es alle mög-
lichen Arten von Vorschaubildern, also aktuelle, veraltete und nicht
vorhandene. Außer im ersten Fall wird als bei jedem Aufruf des Skripts
ein neues Bild angefragt, mit den genannten ca. 20 bis 40 Sekunden Zeit-
bedarf.

Ich vermute, dass mein Webserver so konfiguriert ist, dass ein Benutzer
nicht beliebig viele Prozesse von ein und demselben Skript anstoßen
darf. Vielleicht ist das Limit sogar 1. Und das bedeutet: Wenn ich ein
veraltetes oder nicht vorhandenes Bild anzeige, benötigt das Skript
viele Sekunden, bis es fertig ist. _Dieser_ Aufruf hat trotzdem schnell
zu einem Ergebnis (angezeigtes Bild) geführt. Doch wenn ich während
dieser Zeit mit der Maus über einen anderen Link fahre, wird das Skript
noch nicht gleich aufgerufen, weil es ja noch vom anderen Aufruf läuft.
Erst wenn der vorige Aufruf beendet ist, kommt der nächste dran, und so
wird die Ausgabe _dieses_ Bilds verzögert, und zwar egal, ob es vorhan-
den und aktuell ist oder nicht.

Wer kann diese Vermutung bestätigen? Ich vermute, auf dieses Verhalten
habe ich keinen Einfluss, oder?

Mario Haßler


-- 
NEU: FreePhone - kostenlos mobil telefonieren!			
Jetzt informieren: http://www.gmx.net/de/go/freephone

php::bar PHP Wiki   -   Listenarchive