Tom: Cache-Control bei Bildern

Beitrag lesen

Hello,

Das Script sendet selbst keine Header-Angaben was das Caching angeht.

Warum nicht?

scheint sowieso ein wenig merkwürdig zu sein, das Script
Wenn man ein bisschen damit spielt
http://maris.pytalhost.com/font/font.php?text='maris.pytalhost.com'&color=0x000000&bgcolor=0xffffff&size=22&font='fonts/times.ttf'

kommt gleich eine hammermäßige Fehlermeldung,
Fatal error: Allowed memory size of 25165824 bytes exhausted (tried to allocate 10377505 bytes) in /srv/www/httpd/phost/m/com/pytalhost/maris/web/font/package.graphics.php on line 1218

10Mbyte zusätlich für so ein Bisschen Font ist doch Müll

Das Stückchen Script müsste eigentlich sonst reichen, damit gecached wird.
hier wird ein Bild angefordert mit dem Namen $filename

// prüfen, ob das Bild im Server neuer ist als im Cache des Browsers

$last_modified = @gmdate('D, d M Y H:i:s',@filemtime(PICPATH.$filename)).' GMT';

if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']))
  {
    // parse header
    $if_modified_since = preg_replace('/;.*$/', '', $_SERVER['HTTP_IF_MODIFIED_SINCE']);

if ($if_modified_since == $last_modified)
    {
      // the browser's cache is still up to date
      header("HTTP/1.0 304 Not Modified");
      header("Cache-Control: max-age=86400, must-revalidate");
      return true;   ## Ausgabefunktion zuende, keine Daten senden
    }
  }

Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)