B
ByeBye 242513
Guten Abend,
ich habe einen Script geschrieben der automatisch die Breite und Höhe von einem Bild erkennt und diese ggf. verkleinert, wenn die Größe von 600px überschritten wird.
Ich habe ein Testbild auf dem Server mit 1024x768px (URL: img/test/1.jpg).
Wenn ich dieses Bild nun "intern" durch den Script jage funktioniert alles und es wird auf 600×450px skaliert, Beispiel:
ERGEBNIS:
Sobald ich aber versuche es "extern" einzubinden, klappt der Script nicht mehr. Und das Bild wird nicht skaliert, Beispiel:
ERGEBNIS:
[ B]Wie zu sehen ist werden keine Breiten- und Längenangaben ermittelt, warum?[ /B]
FUNKTIONEN / SCRIPT
ich habe einen Script geschrieben der automatisch die Breite und Höhe von einem Bild erkennt und diese ggf. verkleinert, wenn die Größe von 600px überschritten wird.
Ich habe ein Testbild auf dem Server mit 1024x768px (URL: img/test/1.jpg).
Wenn ich dieses Bild nun "intern" durch den Script jage funktioniert alles und es wird auf 600×450px skaliert, Beispiel:
PHP:
<?php
$testbild = '[ img=img/test/1.jpg][ /img]';
echo bbcode($testbild);
?>
Code:
<img src="img/test/1.jpg" style="width: 600px; height: 450px;" />
Sobald ich aber versuche es "extern" einzubinden, klappt der Script nicht mehr. Und das Bild wird nicht skaliert, Beispiel:
PHP:
<?php
$testbild = '[ img=http://www.mein_domain.de/img/test/1.jpg][ /img]';
echo bbcode($testbild);
?>
Code:
<img src="http://www.mein_domain.de/img/test/1.jpg" style=width: px; height: px;" />
FUNKTIONEN / SCRIPT
PHP:
function bbcode($input) {
$input = preg_replace_callback("/\[img=(.*)\]\[\/img\]/Usi", 'bbcode_check_image', $input);
return $input;
}
function bbcode_check_image($input) {
$imageurl = $input[1];
$imagearray = getimagesize($imageurl);
$max_image_width = '600';
$max_image_height = '600';
$image_width = $imagearray[0];
$image_height = $imagearray[1];
if($image_width > $max_image_width) {
$image_width = $max_image_width;
$image_height = round($imagearray[1]/($imagearray[0]/$image_width));
}
if($image_height > $max_image_height) {
$image_height = $max_image_height;
$image_width = round($imagearray[0]/($imagearray[1]/$image_height));
}
return '<img src="'.$imageurl.'" style="width: '.$image_width.'px; height: '.$image_height.'px";" />';
}