Forum Doku Wiki Blog

Forumsarchiv 2009, Juli
Bilder nur anzeigen, wenn eingelogged

archivierte Beiträge lesen

  1. (PHP) Bilder nur anzeigen, wenn eingelogged von jobo, 28. 07. 2009, 14:56

Bilder nur anzeigen, wenn eingelogged

Der folgende Beitrag wurde am 28. 07. 2009, 14:56 Uhr von jobo veröffentlicht.

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

Bilder nur anzeigen, wenn eingelogged

Der folgende Beitrag wurde am 28. 07. 2009, 19:17 Uhr von Edgar Ehritt veröffentlicht.

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');
 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!

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4