Variablenübergabe in Image-Script
Pizzatom
- php
Hallo,
ich habe mir ein kleines JPG/PNG Wasserzeichen-Script besorgt, daß auch einwandfrei funktioniert. Das Script benötigt lediglich die transparente Wasserzeichen-Grafik und das zugrunde liegende JPEG. eigentlich einfach.
zum testen habe ich in den beiden einzigen zeilen, in denen das JPEG referenziert wird, folgendes eingetragen:
$image = imagecreatefromjpeg("dummy.jpg"]);
$size = getimagesize("dummy.jpg"]);
damit funktioniert alles einwandfrei. nun mein problem: wie bekomme ich da dynamische filenames rein? das ganze wird ja in einem HTML-<img> Tag aufgerufen. z.zt. also <img src="test.php"...
im originalcode stehen die beiden zeilen:
$image = imagecreatefromjpeg($_GET['src']);
$size = getimagesize($_GET['src']);
ich verstehe nur nicht, wie ich im <img-tag grafiknamen übergeben soll bzw. wo ich die vorher definieren soll.
hier das ganze script (ist eigentlich) simpel:
<?php
header('content-type: image/jpeg');
$watermark = imagecreatefrompng('wasserzeichen.png');
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
$image = imagecreatetruecolor($watermark_width, $watermark_height);
$image = imagecreatefromjpeg($_GET['src']);
$size = getimagesize($_GET['src']);
$dest_x = $size[0] - $watermark_width - 5;
$dest_y = $size[1] - $watermark_height - 5;
imagecopymerge($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, 70);
imagejpeg($image);
imagedestroy($image);
imagedestroy($watermark);
?>
dieses script fungiert ja als ".JPG" - für HTML.
wäre nett, wenn mir jemand sagen könnte, wie ich da dynamische source-jpegs reinbekomme. casus knacksus ist dieses $_GET['src'].
vielen dank!!!
lg pizzatom
Hallo,
damit funktioniert alles einwandfrei. nun mein problem: wie bekomme ich da dynamische filenames rein? das ganze wird ja in einem HTML-<img> Tag aufgerufen. z.zt. also <img src="test.php"...
$image = imagecreatefromjpeg($_GET['src']);
$size = getimagesize($_GET['src']);
Das geh in diesem Fall so:
<img alt="alternativer Text" src="test.php?src=dummy.jpg" />
Diese Lösung ist aber ganz ganz schlecht, so etwas tut man einfach nicht,
Dateien einlesen, deren Name vom Client kommt.
Besser ist so eine Lösung:
$bilder=array("dummy1.jpg","bild2.jpg",...);
if (isset($bilder[$_GET['src']])) {
$image = imagecreatefromjpeg($bilder[$_GET['src']]);
}
So werden nur vordefinierte Bilder geladen, die mit einer
Nummer ausgewählt werden können (alternativ kann man natürlich
auch ein assoziatives Array verwenden, das erhöht vielleicht
die Handbarkeit des Skriptes).
Gruß
Alexander Brock