Den Bild Pfad anzeigen, aber nicht den Link
Gunter
- php
0 derletztekick0
Der Martin
0
dedlfix
Hi.
Ich hoffe mal das meine Frage für euch verständlich ist. Also:
Man stelle sich eine Seite vor (index.php) auf der einige Bilder zu sehen sind. Wenn man nun rechts auf eines dieser Bilder klickt und unter Eigenschaften den Link einsieht, soll man nicht den Original Link sehen(z.B. http://www.egal.de/bilder/bild1.jpg), sondern einen Link wie z.B. http://www.egal.de/bilder?bild1.jpg
Theoretisch heißt das man müsst eine weitere Seite basteln (bilder.php) die das entsprechende bild(z.B. bild1.jpg) 'einfügt' oder so in der art.
Wenn also das Bild http://www.egal.de/bilder?bild1.jpg aufgerufen wird soll praktisch nur eine Seite angezeigt werden, mit dem entsprechenden bild (am besten währe wenn man auch auf das bild klicken kann...)
Ist das in der Form machbar?
Ich kenne mich (noch) nicht so gut mit PHP aus. Ich hoffe ihr könnt mir einige Tips geben.
MFG.
Hallo Gunter,
sondern einen Link wie z.B. http://www.egal.de/bilder?bild1.jpg
Du könntest mit imagecreatefrom[jpeg|gif|png|...] aus Deinem Origianlbild, eine Copy ereugen und diese zurückliefern.
(am besten währe wenn man auch auf das bild klicken kann...)
Das kann jeder nach belieben tun, glaub mir, da musst Du nichts für tun...
Mit freundlichem Gruß
Micha
Hi Micha
(am besten währe wenn man auch auf das bild klicken kann...)
Das kann jeder nach belieben tun, glaub mir, da musst Du nichts für tun...
Ich meinte damit das das Bild auch gleichzeitig ein Link ist...
MFG.
Hallo Gunter,
Ich meinte damit das das Bild auch gleichzeitig ein Link ist...
Dann mache einfach einen draus...
Mit freundlichem Gruß
Micha
Hi!
sondern einen Link wie z.B. http://www.egal.de/bilder?bild1.jpg
Du könntest mit imagecreatefrom[jpeg|gif|png|...] aus Deinem Origianlbild, eine Copy ereugen und diese zurückliefern.
Wozu die Mühe?
Warum nicht einfach mit readfile() raushauen?
An der Datei ansich muß ja nichts gemacht werden.
<?php
header( 'Content-type: image/jpg' );
$jpg = "bild.jpg";
readfile( $jpg );
?>
Schöner Gruß,
rob
Hallo,
Ich hoffe mal das meine Frage für euch verständlich ist.
aus dem Topic jedenfalls überhaupt nicht.
Man stelle sich eine Seite vor (index.php) auf der einige Bilder zu sehen sind. Wenn man nun rechts auf eines dieser Bilder klickt und unter Eigenschaften den Link einsieht, soll man nicht den Original Link sehen(z.B. http://www.egal.de/bilder/bild1.jpg), sondern einen Link wie z.B. http://www.egal.de/bilder?bild1.jpg
Wo liegt das Problem? Man sieht in diesem Fall genau die URL, unter der das Bild angefordert wurde. Wenn es als /bilder?bild1.jpg angefordert wurde, steht auch diese URL in den Eigenschaften des Bildes zur Verfügung.
Theoretisch heißt das man müsst eine weitere Seite basteln (bilder.php) die das entsprechende bild(z.B. bild1.jpg) 'einfügt' oder so in der art.
Genau.
Wenn also das Bild http://www.egal.de/bilder?bild1.jpg aufgerufen wird soll praktisch nur eine Seite angezeigt werden, mit dem entsprechenden bild (am besten währe wenn man auch auf das bild klicken kann...)
Nein. Wenn z.B. /bilder.php?bild1.jpg aufgerufen wird, könnte das den Aufruf eines PHP-Scripts auslösen, das den als URL-Parameter übergebenen Namen auswertet und als Antwort *das Bild an sich* ausliefert, NICHT eine Seite, die wiederum einen Bildverweis enthält.Damit hättest du nichts gewonnen.
Ich kenne mich (noch) nicht so gut mit PHP aus. Ich hoffe ihr könnt mir einige Tips geben.
Das Prinzip wäre einfach:
1. Parameter lesen. Das geht einfacher, wenn man sich an die Konvention name=wert für URL-Parameter hält, dann kann man's aus dem $_GET-Array holen.
2. Aus dem Parameter den Pfad zum Bild bilden. Dabei aufpassen, dass durch geschickt übergebene Parameter kein unerwünschter Zugriff auf andere Dateien möglich ist.
3. Testen, ob Bild existiert, z.B. mit is_file(), noch besser mit getimagesize(), dann prüfst du damit auch gleichzeitig, ob die Datei wirklich ein Bild darstellt.
4. Passenden Content-Type-Header senden
5. Entweder das gewünschte oder (falls nicht vorhanden) ein fest vorgegebenes Ersatzbild mit readfile() durchreichen.
Die Aufgabenstellung ist aber im Grunde schon mehrfach auch hier im Forum durchgekaut worden, das Archiv sollte einiges darüber berichten können.
So long,
Martin
PS: Was hast du mit der Informatik-Werkstatt GmbH in Ulm zu tun, dass du deren Domain egal.de verwendest? Für Beispiele gibt es extra die Beispiel-Domains example.net, example.org, ...
echo $begrüßung;
Man stelle sich eine Seite vor (index.php) auf der einige Bilder zu sehen sind. Wenn man nun rechts auf eines dieser Bilder klickt und unter Eigenschaften den Link einsieht, soll man nicht den Original Link sehen(z.B. http://www.egal.de/bilder/bild1.jpg), sondern einen Link wie z.B. http://www.egal.de/bilder?bild1.jpg
Solche Verfälschungen, so wie du sie beschreibst, werden im Allgemeinen als Fehler angesehen, wenn dies in einem Browser möglich wäre. Doch dein Problem lässt sich mit mod_rewrite (ein Zusatz-Modul für den Apache-Webserver) bewerkstelligen. Möglicherweise brauchst du auch noch ein Download-Script. Du verweist in deinem HTML-Code auf die "schönen Adressen" und mit einer passenden mod_rewrite-Konfiguration liefert der Server dann dazu die richtige Ressource aus. Wenn du keine einfache(n) RewriteRule(s) erstellen kannst, kannst du ein Download-Script zu Hilfe nehmen. Unter diesem Stichwort sollte eine Suche erfolgreich sein.
echo "$verabschiedung $name";