Page 1 of 1

Automatic Image Gallery Not making thumbnails?

Posted: Sat Mar 24, 2012 3:19 pm
by epictech300
I have followed the "Automatic Image Gallery" tutorial but it is not generating the thumbnails. :(
Here is the code:
<?php

if (isset($_GET['img'])){
    if (file_exists($_GET['img'])){
        ignore_user_abort(true);
        set_time_limit(120);
        ini_set('memory_limit', '512M');
        
        $src_size = getimagesize($_GET['img']);
        
        if ($src_size === false){
            die('Image does not exsist.');
        }

        $thumb_width    = 250;
        $thumb_height   = 250;
        
        if ($src_size['mime'] === 'image/jpeg'){
            $src = imagecreatefromjpeg($_GET['img']);
        }else if ($src_size['mime'] === 'image/png'){
            $src = imagecreatefrompng($_GET['img']);
        }else if ($src_size['mime'] === 'image/gif'){
            $src = imagecreatefromgif($_GET['img']);
        }
        $src_aspect = round(($src_size[0] / $src_size[1]), 1);
        $thumb_aspect = round(($thumb_width / $thumb_height), 1);
        
        if ($src_aspect < $thumb_aspect){
            // higher
            $new_size = array($thumb_width, ($thumb_width / $src_size[0]) * $src_size[1]);
            $src_pos = array(0, (($new_size[1] - $thumb_height) * ($src_size[1] / $new_size[1])) / 2);
        }else if ($src_aspect > $thumb_aspect){
            //wider
            $new_size = array(($thumb_width / $src_size[1]) * $src_size[0], $thumb_height);
            $src_pos = array((($new_size[0] - $thumb_width) * ($src_size[0] / $new_size[0])) / 2, 0);
        }else{
            //Same shape
            $new_size = array($thumb_width, $thumb_height);
            $src_pos = array(0, 0);
        }
        if ($new_size[0] < 1) $new_size[0] = 1;
        if ($new_size[1] < 1) $new_size[1] = 1;
        
        $thumb = imagecreatetruecolor($thumb_width, $thumb_height);
        imagecopyresampled($thumb, $src, 0, 0, $src_pos[0], $src_pos[1], $new_size[0], $new_size[1], $src_size[0], $src_size[1]);
        
                if ($src_size['mime'] === 'image/jpeg'){
            imagejpeg($thumb, "thumbs/{$GET['img']}");
        }else if ($src_size['mime'] === 'image/png'){
            imagepng($thumb, "thumbs/{$GET['img']}");
        }else if ($src_size['mime'] === 'image/gif'){
            imagegif($thumb, "thumbs/{$GET['img']}");
        }
        header("Location: thumbs/{$_GET['img']}");
    }
    die();
}
if (is_dir('thumbs') === false){
    mkdir('thumbs', 0744);
}
$images = glob('*.{jpg,jpeg,png,gif}', GLOB_BRACE);

?>

<html>
    <head>
        <title>Image Gallery</title>
    </head>
    <body>
        <div>
    <?php
    foreach ($images as $image){
        if (file_exists("thumbs/{$image}")){
            echo "<a href=\"{$image}\"><img src=\"thumbs/{$image}\" alt=\"{$image}\" /></a>";
        }else{
            echo "<a href=\"{$image}\"><img src=\"?img={$image}\" alt=\"{$image}\" /></a>";
        }
    }
    ?>
</div>
</body>
</html>
I tried this on a local server and my web server but both had the same problem http://epic300.net/php/image_gallery/ :?
Could anyone tell me what the problem is and hopefully how to fix it?

Re: Automatic Image Gallery Not making thumbnails?

Posted: Sat Mar 24, 2012 6:46 pm
by jacek
On these lines
imagepng($thumb, "thumbs/{$GET['img']}");
You missed a _ out of the variable name ;)

Re: Automatic Image Gallery Not making thumbnails?

Posted: Sat Mar 24, 2012 7:36 pm
by epictech300
jacek wrote:On these lines
imagepng($thumb, "thumbs/{$GET['img']}");
You missed a _ out of the variable name ;)
I thought it might of been something silly like this :)