Generere thumbnail, fejl i mit script.
HejJeg vil gerne lave et galleri, men da det jo er en stor omgang om mit kendskab til PHP er lille er jeg startet i det lidt mindre. Jeg forsøger på at lave en thumbnail med følgende script:
<?php
# Constants
define(IMAGE_BASE, '/customers/nskjaer.dk/nskjaer.dk/httpd.www/php');
define(MAX_WIDTH, 150);
define(MAX_HEIGHT, 150);
# Get image location
$image_file = str_replace('..', '', $_ENV['QUERY_STRING']);
$image_path = IMAGE_BASE . "/$image_file";
# Load image
$img = null;
$ext = strtolower(end(explode('.', $image_path)));
if ($ext == 'jpg' || $ext == 'jpeg') {
$img = @imagecreatefromjpeg($image_path);
} else if ($ext == 'png') {
$img = @imagecreatefrompng($image_path);
# Only if your version of GD includes GIF support
} else if ($ext == 'gif') {
$img = @imagecreatefrompng($image_path);
}
# If an image was successfully loaded, test the image for size
if ($img) {
# Get image size and scale ratio
$width = imagesx($img);
$height = imagesy($img);
$scale = min(MAX_WIDTH/$width, MAX_HEIGHT/$height);
# If the image is larger than the max shrink it
if ($scale < 1) {
$new_width = floor($scale*$width);
$new_height = floor($scale*$height);
# Create a new temporary image
$tmp_img = imagecreatetruecolor($new_width, $new_height);
# Copy and resize old image into new image
imagecopyresized($tmp_img, $img, 0, 0, 0, 0,
$new_width, $new_height, $width, $height);
imagedestroy($img);
$img = $tmp_img;
}
}
# Create error image if necessary
if (!$img) {
$img = imagecreate(MAX_WIDTH, MAX_HEIGHT);
imagecolorallocate($img,0,0,0);
$c = imagecolorallocate($img,70,70,70);
imageline($img,0,0,MAX_WIDTH,MAX_HEIGHT,$c2);
imageline($img,MAX_WIDTH,0,0,MAX_HEIGHT,$c2);
}
# Display the image
header("Content-type: image/jpeg");
imagejpeg($img);
?>
og så indsætte billeder med:
<img src="/image.php?jakob1.jpg">
Billedet og php-filen image.php ligger i samme folder, nemlig /php.
Links:
www.nskjaer.dk/php/image.php
www.nskjaer.dk/php/image.html
Info om serveropsætning kan ses her:
www.nskjaer.dk/php/action.php
Jeg synes at have set et sted at _SERVER ikke duer hvis man kører på en Zend server hvilket jeg tror jeg gør.
Jeg har også forsøgt med forskellige stier, men intet har virket, hvis jeg udskriver den komplette sti så giver den
/customers/nskjaer.dk/nskjaer.dk/httpd.www/php/
og ikke
/customers/nskjaer.dk/nskjaer.dk/httpd.www/php/jakob1.jpg
Er der nogle der kan gennemskue hvad problemet er?
