kostenloser Webspace werbefrei: lima-city


HTTP_IF_MODIFIED_SINCE und MySQL

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    knollos

    knollos hat kostenlosen Webspace.

    Hallo,
    Ich habe folgendes Script geschrieben, um Bilder, die in meiner Datenbank gespeichert sind abzurufen. das funktioniert auch wunderbar, jedoch funktioniert die schleife nicht, die einen HTTP/1.1 304 Not Modified Header senden soll, nicht. Es scheint so, als wenn mein firefox überhaupt keinen header sendet. Bei Bildern, die im Dateisystem gespeichert sind funktioniert das cachen aber. Ich bin kurz vorm verzweifeln.

    SERVER_SIGNATURE:
    Apache/2.2.11 (Ubuntu) DAV/2 PHP/5.2.6

    so jetzt das script:
    <?php 
    
    include('script/start.php');
    
    $bild_id = $_GET['id'];
    
    $sqlquery = "SELECT UNIX_TIMESTAMP(datum) AS unix_ts FROM bilder WHERE bild_ID=$bild_id";
    
    $result = mysql_query($sqlquery);
    
    $unix_ts = mysql_result($result,0);
    
    if(isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) && $unix_ts <= strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE'])) {
    
     header("HTTP/1.1 304 Not Modified");
    
    }
    else {
    
     $sqlquery = "SELECT bin FROM bilder WHERE bild_ID=$bild_id";
    
     $result = mysql_query($sqlquery);
     
     header("Content-type: image/jpeg");
     echo mysql_result($result,0);
    }
    
    include('script/ende.php'); 
    
    ?>


    Beitrag zuletzt geändert: 29.4.2010 0:44:55 von knollos
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 1. Wird eine Ausgabe auf dem Bildschirm gesendet, wo sowas steht wie "Cannot send headers ..."?
    Ein Header kann nur gesendet werden, wenn vorher keine Ausgabe im Script erfolgt ist.

    Häufige Fehler sind:
    - mysql-Fehlermeldungen landen auf dem Bildschirm
    - irgendwo nach dem schließenden PHP-Kürzel steht noch ein Enter oder Leerzeichen. Das landet auf dem Bildschirm und fürht dazu, dass das Versenden der Header nicht mehr möglich ist.

    Geht der Code auch wirklich in die IF-Abfrage rein?
    Könntest dir ja mal die einzelnen Bedingungen auf den Bildschirm drucken.
  4. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!