PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bilder per PHP anzeigen lassen



damuxu
18.06.2006, 16:33
Hi Leute,

ich wollte mir eine kleine Bildergalerie einrichten und wollte die Bilder per PHP einbinden also hier ein Beispiel

normal ist es ja so:

<img src="unterordner/bildername.jpg />


ich wollte es aber lieber so haben:

<img src="bild.php?bild=bildernamen.jpg />

kann mir jemand den code vielleicht aufschreiben?
danke im vorraus

Michi =)

pslizer
18.06.2006, 17:05
<?php
$datei = fopen($_GET['bild'], r);
echo fread($datei,5000);
fclose $datei;
?>


Wobei in der Zeile mit echo die 5000 die Größe deines Bildes in Byte betragen sollte (Kann auch größer sein).
Dies ist ohne Fehlerbehandlung und sonstiges und ohne Sicherheitsüberprüfung, denn er könnte auch in die URL als GET-Parameter etwas anderes hineinschreiben, etwa /etc/passwd, oder irre ich mich?

murph
18.06.2006, 17:07
<?php
//bild.php
function bild(bild)
{
if ($bild == "erstes_bild")
{
return "erstes_bild"
}
}
?>
das wird dann so eingebunden


<?include("bild.php");
$a = bild("erstes_bild");
echo"<img src = '/unterordner/$a>";
?>

damuxu
18.06.2006, 17:30
ah ok danke das hilft schon weiter, aber was ich dann jetzt bei dem Code von Murpf sehe ist, dass man ihn nur auf Seiten einsetzen kann, wo PHP genutzt wird. Jedoch möchte ich Freunden anbieten können, dass sie die Gleichen Bilder auf deren Page einsetzten können. Die haben jedoch keinen Webserver, der PHP unterstützt.

theton
18.06.2006, 18:43
<img src="bild.php?bild=bildernamen.jpg />
Welchen Sinn soll das erfuellen?

pslizer
18.06.2006, 18:52
ah ok danke das hilft schon weiter, aber was ich dann jetzt bei dem Code von Murpf sehe ist, dass man ihn nur auf Seiten einsetzen kann, wo PHP genutzt wird. Jedoch möchte ich Freunden anbieten können, dass sie die Gleichen Bilder auf deren Page einsetzten können. Die haben jedoch keinen Webserver, der PHP unterstützt.

Das PHP-Skript kann natürlich auch bei dir liegen, sie müssen das dann allerdings mit kompletter URL einbinden.

EDIT: Sie können, falls mein Skript modifiziert wird, auch Bilder von einem externen FTP-Server laden.

murph
18.06.2006, 18:54
sag das doch gleich!!!
dann kannst du doch einfach mal als img-src die echte internetadresse angeben!
un wofür den skript dann noch?
einfach zb
<img src = "http://hommingberger.auctionant.de/bild-hommingberger-gepardenforelle.jpgjpg">
das macht dann
http://hommingberger.auctionant.de/bild-hommingberger-gepardenforelle.jpg
//edit: kann kein non-jpeg-pic finden, sry

Xanti
18.06.2006, 18:55
<img src="bild.php?bild=bildernamen.jpg />
Welchen Sinn soll das erfuellen?

Ich würde den Sinn darin sehen, dass man seine Bilder schützen kann. Anstatt die Bilder ins "/html" zu legen, wo sie bequem per Browser erreichbar sind, kann man sie geschützt in ein Verzeichnis abseits von "/html" legen. Zugriff geht nur über die bild.php. Diese kann das Anzeigen der Bilder von vorhandenen Cookies abhängig machen.

Gruss, Xanti

theton
18.06.2006, 20:07
Und wie will man dafuer sorgen, dass nur die bild.php auf das Verzeichnis zugreifen kann? Spaetestens wenn sich jemand das Bild auf der Platte speichert, sieht er aus welchem Ordner es kommt.

Xanti
18.06.2006, 20:15
Wenn man das Bilderverzeichnis ins "/cgi-bin" legt, sollte man nicht vom Browser direkt drauf zugreifen können.

damuxu
20.06.2006, 17:42
ja ich will halt so erreichen, dass man das Bild nicht direkt verlinken kann sondern es dann halt so über die PHP datei sieht.
Oder ist das auch mit Java möglich?

sono
20.06.2006, 18:03
ja ich will halt so erreichen, dass man das Bild nicht direkt verlinken kann sondern es dann halt so über die PHP datei sieht.
Oder ist das auch mit Java möglich?

Dein Ansatz ist falsch.

So verlinken die Jungs dann nimmer auf das Bild sondern auf das Script. Du hast also einen Schutz der nicht schützt sondern nur zusätzlich Last erzeugt, es sei denn du weißt was eine Session ist und wie man sie verwenen könnte um das direkte Verlinken doch zumindest zu 95% zu unterbinden ( Aber selbst eine Session bietet keinen wirklichen Schutz für öffentliche Bilder, wenn der Junge ein wenig Ahnung ( und ein wenig bedeutet das KnowHow wie verstecke ich einen iframe auf meiner Seite zu deiner Seite um eine Session zu erstellen ) hat und das Bild unbedingt einbinden möchte )

Google mal nach Modrewrite und Bilder schützen , oder ModSecurity sollte sowas auch können.

Gruß Sono