jobo: Bilder nur anzeigen, wenn eingelogged

Hallo,

da der Apache Passwortschutz ja wohl nur mit Nutzername _und_ Passwort anbietet (hier soll nur eine Loginparole eingegeben werden), müsste man mit PHP wohl alle Anfragen im Verzeichnis per .htaccess auf eine session-control.php umleiten, die dann schaut, ob die login-session aktiv ist, und mit

if (isLoggedIn()) {
 $image = file_get_contents("/path/to/image.jpg");
 header('Content-Type: image/jpeg');
 echo $image;
}

dann das Image ausgeben, oder?

Macht das "Performanceprobleme" bei 50 thumbnails pro Seite?

Gruß

jobo

  1. Hallo Jobo,

    if (isLoggedIn()) {
    $image = file_get_contents("/path/to/image.jpg");
    header('Content-Type: image/jpeg');
    echo $image;
    }
    Macht das "Performanceprobleme" bei 50 thumbnails pro Seite?

    so wie Du es machst, ja.

    if (isLoggedIn()) {  
     header('Content-Type: image/jpeg');  
     [link:http://de2.php.net/manual/de/function.fpassthru.php@title=fpassthru]("/path/to/image.jpg");  
    }
    

    Hierbei wird kein Speicher für eine Variable angelegt. Die Ausgabe wird direkt dem Ausgabepuffermechanismus PHPs übergeben. Darüber hinaus ist die Angabe der Byte-Größe der Ressource erforderlich:

    if (isLoggedIn()) {  
     clearstatcache();  
     $f="/path/to/image.jpg";  
      
     if(file_exists($f)){  
      header('Content-Type: image/jpeg',true,200);  
      header('Content-Length: '.filesize($f));  
      fpassthru($f);  
     }  
     else{  
      header($_SERVER['SERVER_PROTOCOL'].' 404 Not Found',true,404);  
     }  
    }
    

    Gruß aus Berlin!
    eddi

    --
    Könnte bitte jemand mal langsam dafür sorgen, dass da draußen nicht dauernd die Filmrolle "Planet der Affen" abgedudelt wird? Danke!