• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

bild aus .htaccess ordner auslesen

jumbo125

Mitglied
Hallo,
wiedermal brauch ich einen Tipp von euch:

meine bisherige Fotoausgabe erfolgt aus einem Array,(wegen Blätterfunktion)indem alle JPG-Daten eines besimmten Ordners eingelesen werden...
Code:
$photopfad = "Bilder"; \\der pfad ändert sich, die Variablen definition ist nur ein Beispiel
foreach ($fotoarray as $foto){
echo '<a href="'.$photopfad.'/'.$foto.'"'> //funktioniert
}
mein Problem ist, das ich nach dem htaccess User+ Passwort gefragt werde. Wie muss ich php ins spiel bringen um die Bilder mit php, als link anzuzeigen?? Dadurch würde ich die passwort abfrage verhindern.
Wäre es ev. möglich mir ein script anstatt links zu php manuals zu schreiben??

Danke
 
Zuletzt bearbeitet:
Was hat das mit htaccess zu tun? Wieso zeigst Du Fotos an die eigentlich passwortgeschützt sind?

Hintergrund der Frage: Ja, es gibt dafür durchaus 2 Lösungen. Die eine würde jedoch den Passwortschutz der Seite unterlaufen und somit sinnlos machen.
 
kurz gesagt, handelt es sich um diese eine Zeile:


Code:
<span class='ff1 cf0 fs18'><a href='".$photopfad."/".$foto." 'rel='lightbox[roadtrip]'><img src='".$thumbnailpfad."' /></a></span>";


kurz:
Code:
echo "<a href='Photoordner/photo-1.JPG' rel='lightbox[roadtrip]'><img src='thumbnail/photo-1.JPG' /></a> ";


Die Erklärung:
Die Pfade sind mittels Variablen angegeben. Das kommt daher, da alle JPG Bilder aus einen Ordner ausgegeben werden, kurz -> mittels Schleifenfunktion.


Nebensächlich:
Ich lese alle Bilder in ein Array ein, da ich eine Blätterfunktion benutze(d.h. ab einer gewissen Anzahl an Bilder, wird eine 2 Seite erstellt.) siehe hierfür Blätterfunktion - PHP Forum: phpforum.de


Nun zum eigentlichen Problem:
Mein hier angeführter Code funktioniert prima, ABER....


sobald ich eine .htaccess Datei in den Ordner mit den Bildern gebe(nicht in den mit den Thumbnails) werde ich beim öffnen des "Bilder-Links" nach dem user und passwort gefragt. Dieses Passwort und den Benutzernamen weiß jedoch NUR ich, deshalb soll die Abfrage, für die Besucher meiner Seite nicht gestartet werden. Nach langen suchen, fand ich heraus, das PHP die .htaccess Datei "egal" sei und man dadurch Bilder ausgeben kann, ohne nach Benutzernamen und Passwort gefragt zu werden.


Nun noch kurz zum Aufbau der Gallery.html seite, in der meine Bilder ausgegeben werden:
Um in die Gallery zu gelangen muss man ein VON MIR ERFUNDENES PASSWORT eingeben. Sofern dieses richtig ist, erhält man Einblick in mein Fotoalbum. Nun könnten sich schlaue Besucher auch die fotos direkt über den Browser anzeigen lassen, wenn sie www.meineDomain/Photoordner/photo-1.JPG eingeben. Daher MUSS der Ordner mittels .htaccess Datei gesichert sein, denn HIER MUSS die Passwortabfrage der .htaccess Datei erfolgen.


Hoffe nun ist alles klar.


Ps. bei der Bilder ausgabe handelt es sich um eine lightbox, daher er link...
 
Meine Frage betraf eigentlich nur:

Um in die Gallery zu gelangen muss man ein VON MIR ERFUNDENES PASSWORT eingeben. Sofern dieses richtig ist, erhält man Einblick in mein Fotoalbum. Nun könnten sich schlaue Besucher auch die fotos direkt über den Browser anzeigen lassen, wenn sie www.meineDomain/Photoordner/photo-1.JPG eingeben. Daher MUSS der Ordner mittels .htaccess Datei gesichert sein, denn HIER MUSS die Passwortabfrage der .htaccess Datei erfolgen.

Der Rest war mir schon völlig klar.

Du schreibst weiterhin:
Nach langen suchen, fand ich heraus, das PHP die .htaccess Datei "egal" sei

Natürlich ignoriert PHP jede htaccess-Datei. Der Grund ist auch ganz simpel: htaccess wird vom Apache bei Requests über diesen Dienst ausgeführt. PHP führt keine htaccess-Dateien aus, weil PHP auch keine Requests für HTTP-Dienste (wie den Apache) verarbeitet.

und man dadurch Bilder ausgeben kann, ohne nach Benutzernamen und Passwort gefragt zu werden.

Den Zusammenhang zu diesem Teilsatz verstehe ich dann jedoch wiederum nicht.

So oder so. Die für dich optimale Lösung wäre, wenn Du die Bilder per PHP einliest und ausgibt. Dazu müsstest Du zunächst den Pfad zum Bild anpassen.

PHP:
<span class='ff1 cf0 fs18'><a href='/ausgabe.php?file=".urlencode($photopfad."/".$foto)." 'rel='lightbox[roadtrip]'><img src='"./ausgabe.php?file=".urlencode($thumbnailpfad)."' /></a></span>";

Die Datei ausgabe.php müsste dann deinen Passwortschutz enthalten, also prüfen, ob der aufrufende die korrekten Logindaten angegeben hat (die haben nichts mit htaccess zu tun, sondern mit dem von dir geschriebenen Loginsystem). Wenn alles ok ist, muss PHP die übergebene Datei einlesen (fopen() oder file_get_contents()) und zusammen mit einem korrekten Content-type ausgeben (header() .. echo $blob).

Wenn jemand der nicht eingeloggt ist eine URL der ausgabe.php aufruft, dann leitest Du ihn einfach auf die Startseite weiter und er kommt nicht an das Bild was er aufrufen wollte.
 
Zurück
Oben