Probleme mit .htaccess

Also ich hab mich jetzt schlaugemacht, so gehts auch:

extra datei:

<?php include "authification.php"; $fp = fopen("hausaufgaben/htbbeta.gif","r"); header("Content-Type: image/jpeg"); imagejpeg(fpassthru($fp),"",100); ?>
Aber, da sieht man, wie das bild läd (also jetzt nicht lange, es zieht sich halt herunter, weiß jetzt auch nicht, wie ich das erklären kann, aber die meisten hier werdens sicher kennen :wink: )

wenn ichs nun aber so mache, ists bild bei seitenstart da:

http://admin:passwort@www.mariusscholz.bplaced.net/hausaufgaben/hausaufgaben/htbbeta.gif

wie gehts besser :qst:

[quote=„marius94“]Also ich hab mich jetzt schlaugemacht, so gehts auch:

extra datei:

<?php include "authification.php"; $fp = fopen("hausaufgaben/htbbeta.gif","r"); header("Content-Type: image/jpeg"); imagejpeg(fpassthru($fp),"",100); ?> [/quote]
Was für ein Blödsinn …

Warum benutzt du imagejpeg? Die Funktion ist dazu da, ein per GD-Lib erzeugtes Bildobjekt auszugeben - das Bild existiert aber bereits als physische Datei auf dem Server, also brauchst du dessen Inhalt nur durchzureichen.
Ausserdem ist das so gleich Blödsinn hoch zwei, weil imagejpeg eine Bildressource als Parameter erwartet, dass erzeugt so also auch noch einen Fehler (den du nur nicht siehst) - weil fpassthru zu genau dem Zeitpunkt, zu dem es aufgerufen wird, den Inhalt der Bilddatei in den Ausgabepuffer schreibt, und imagejpeg erst danach ausgeführt wird.

Das geht entweder direkt per fpassthru, ohne blödsinniges imagejpeg - oder mit dem von mir erwähnten readfile.

Tja, das PHP-Script braucht halt auch seine Zeit, um das Bild einzulesen und wieder auszugeben. Das ist nicht ganz ohne Performance-Einbusse zu haben - aber ggf. lässt sich da noch was optimieren, in dem man den Einlesevorgang anpasst.

Natürlich, dann ist PHP ja auch nicht im Spiel, und der Browser bekommt das Bild ganz normal vom Server geschickt.