forum.coppermine-gallery.net

Support => cpg1.3.x Support => Older/other versions => cpg1.3 Miscellaneous => Topic started by: ddekoning on July 29, 2004, 05:30:02 pm

Title: .Gif without ImageMagick
Post by: ddekoning on July 29, 2004, 05:30:02 pm
Is there a way to let people upload .Gif files without use of ImageMagick? ImageMagick is not supported on my server and when people upload a .gif image they get the message "uploading failed, this is not a GD...."
Title: Re: .Gif without ImageMagick
Post by: kegobeer on July 29, 2004, 06:50:11 pm
Not unless your host has upgraded GD to the newest version.  GIF read/write support is back in GD (the patents finally ran out).  Even so, you'll still have to modify Coppermine's code to allow GIFs.
Title: Re: .Gif without ImageMagick
Post by: Casper on July 29, 2004, 07:41:38 pm
There has been discussion on this many times, and as 1.3 comes with the ability to upload most sorts of file, you can upload gif files, if you first change the database to treat them as documents or another type file that coppermine does not create thumbs/intermediates for.

You can then use the custom thumb method to place the original, or a smaller copy of it, as the thumb.
Title: Re: .Gif without ImageMagick
Post by: ddekoning on July 30, 2004, 12:02:49 am
How do i change the code of Copermine to allow .gif images?
Title: Re: .Gif without ImageMagick
Post by: kegobeer on July 30, 2004, 07:14:02 am
Try changing the following code in picmgmt.inc.php:

In function resize_image, above

Code: [Select]
// GD can only handle JPG & PNG images
add

Code: [Select]
$gifsupport = 0;
// Check for GIF create support >= GD v2.0.28
if ($method == 'gd2') {
  $gdinfo = gd_info();
  $gifsupport = $gdinfo["GIF Create Support"];
}

and change

Code: [Select]
if ($imginfo[2] != GIS_JPG && $imginfo[2] != GIS_PNG && ($method == 'gd1' || $method == 'gd2')) {
to

Code: [Select]
if ($imginfo[2] != GIS_JPG && $imginfo[2] != GIS_PNG && ($method == 'gd1' || ($method == 'gd2' && !$gifsupport))) {
I don't have GD 2.0.28 installed, so I haven't tried it.  Give it a shot and report back with your results.
Title: Re: .Gif without ImageMagick
Post by: ddekoning on July 30, 2004, 09:00:08 am
This is how my code looks now and it still doesn't work:

    $imginfo = getimagesize($src_file);
    if ($imginfo == null)
        return false;
        // GD can only handle JPG & PNG images
if ($imginfo[2] != GIS_JPG && $imginfo[2] != GIS_PNG && ($method == 'gd1' || ($method == 'gd2' && !$gifsupport))) {
        $ERROR = $lang_errors['gd_file_type_err'];
        return false;
    }
    $gifsupport = 0
    // Check for GIF create support >= GD v2.0.28
    if ($method == 'gd2') {
       $gdinfo = gd_info();
       $gifsupport = $gdinfo["GIF Create Support"];
    }
Title: Re: .Gif without ImageMagick
Post by: Joachim Müller on July 30, 2004, 09:45:13 am
what version of GD do you have? The fix suggested by kegobeer only works if you have the most recent GD version on your server.

GauGau

P.S. I think it'd be a good idea to search this board, as your question has been asked (and answered) before, especially if you want to go for the option Casper has already mentioned.
Title: Re: .Gif without ImageMagick
Post by: kegobeer on July 30, 2004, 02:38:47 pm
Quote
        // GD can only handle JPG & PNG images
if ($imginfo[2] != GIS_JPG && $imginfo[2] != GIS_PNG && ($method == 'gd1' || ($method == 'gd2' && !$gifsupport))) {
        $ERROR = $lang_errors['gd_file_type_err'];
        return false;
    }
    $gifsupport = 0
    // Check for GIF create support >= GD v2.0.28
    if ($method == 'gd2') {
       $gdinfo = gd_info();
       $gifsupport = $gdinfo["GIF Create Support"];
    }

You also didn't insert the code above

Code: [Select]
// GD can only handle JPG & PNG images
that sets the $gifsupport variable.  Putting it after the check doesn't do any good.  See my first post and try again.
Title: Re: .Gif without ImageMagick
Post by: ddekoning on July 30, 2004, 06:35:28 pm
I have been trying for almost 4 hours now and i still did not get it to work. Is there anyone who can provide me the proper code for my picmgmt.inc.php document please. I have the newest version of GD installed at my server so it should work.
Title: Re: .Gif without ImageMagick
Post by: kegobeer on July 30, 2004, 07:18:56 pm
I forgot to change something else in function resize_image.  Replace the entire 'case "gd2"' with this:

Code: [Select]
        case "gd2" :
            if (!function_exists('imagecreatefromjpeg')) {
                cpg_die(CRITICAL_ERROR, 'PHP running on your server does not support the GD image library, check with your webhost if ImageMagick is installed', __FILE__, __LINE__);
            }
            if (!function_exists('imagecreatetruecolor')) {
                cpg_die(CRITICAL_ERROR, 'PHP running on your server does not support GD version 2.x, please switch to GD version 1.x on the config page', __FILE__, __LINE__);
            }
            if ($imginfo[2] == GIS_JPG)
                $src_img = imagecreatefromjpeg($src_file);
            else if ($imginfo[2] == GIS_GIF && $gifsupport)
$src_img = imagecreatefromgif($src_file);
    else
                $src_img = imagecreatefrompng($src_file);
            if (!$src_img) {
                $ERROR = $lang_errors['invalid_image'];
                return false;
            }
            $dst_img = imagecreatetruecolor($destWidth, $destHeight);
            imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $destWidth, (int)$destHeight, $srcWidth, $srcHeight);
            imagejpeg($dst_img, $dest_file, $CONFIG['jpeg_qual']);
            imagedestroy($src_img);
            imagedestroy($dst_img);
            break;
Title: Re: .Gif without ImageMagick
Post by: ddekoning on July 30, 2004, 07:46:15 pm
This is what i have done so far, and it still doesn't work????



<?php
// ------------------------------------------------------------------------- //
// Coppermine Photo Gallery 1.3.1                                            //
// ------------------------------------------------------------------------- //
// Copyright (C) 2002-2004 Gregory DEMAR                                     //
// http://www.chezgreg.net/coppermine/                                       //
// ------------------------------------------------------------------------- //
// Updated by the Coppermine Dev Team                                        //
// (http://coppermine.sf.net/team/)                                          //
// see /docs/credits.html for details                                        //
// ------------------------------------------------------------------------- //
// This program is free software; you can redistribute it and/or modify      //
// it under the terms of the GNU General Public License as published by      //
// the Free Software Foundation; either version 2 of the License, or         //
// (at your option) any later version.                                       //
// ------------------------------------------------------------------------- //
// CVS version: $Id: picmgmt.inc.php,v 1.6 2004/07/09 06:57:56 gaugau Exp $
// ------------------------------------------------------------------------- //

// Add a picture to an album
function add_picture($aid, $filepath, $filename, $title = '', $caption = '', $keywords = '', $user1 = '', $user2 = '', $user3 = '', $user4 = '', $category = 0, $raw_ip = '', $hdr_ip = '',$iwidth=0,$iheight=0)
{
    global $CONFIG, $ERROR, $USER_DATA, $PIC_NEED_APPROVAL;
    global $lang_errors;

    $image = $CONFIG['fullpath'] . $filepath . $filename;
    $normal = $CONFIG['fullpath'] . $filepath . $CONFIG['normal_pfx'] . $filename;
    $thumb = $CONFIG['fullpath'] . $filepath . $CONFIG['thumb_pfx'] . $filename;

    if (!is_known_filetype($image)) {
        return false;
    } elseif (is_image($filename)) {
        if (!file_exists($thumb)) {
            if (!resize_image($image, $thumb, $CONFIG['thumb_width'], $CONFIG['thumb_method'], $CONFIG['thumb_use']))
                return false;
        }
        $imagesize = getimagesize($image);
        if (max($imagesize[0], $imagesize[1]) > $CONFIG['picture_width'] && $CONFIG['make_intermediate'] && !file_exists($normal)) {
            if (!resize_image($image, $normal, $CONFIG['picture_width'], $CONFIG['thumb_method'], $CONFIG['thumb_use']))
                return false;
        }
    } else {
        $imagesize[0] = $iwidth;
        $imagesize[1] = $iheight;
    }

    $image_filesize = filesize($image);
    $total_filesize = is_image($filename) ? ($image_filesize + (file_exists($normal) ? filesize($normal) : 0) + filesize($thumb)) : ($image_filesize);


    // Test if disk quota exceeded
    if (!GALLERY_ADMIN_MODE && $USER_DATA['group_quota']) {
        $result = db_query("SELECT sum(total_filesize) FROM {$CONFIG['TABLE_PICTURES']}, {$CONFIG['TABLE_ALBUMS']} WHERE  {$CONFIG['TABLE_PICTURES']}.aid = {$CONFIG['TABLE_ALBUMS']}.aid AND category = '" . (FIRST_USER_CAT + USER_ID) . "'");
        $record = mysql_fetch_array($result);
        $total_space_used = $record[0];
        mysql_free_result($result);

        if ((($total_space_used + $total_filesize)>>10) > $USER_DATA['group_quota'] ) {
            @unlink($image);
            if (is_image($image)) {
                @unlink($normal);
                @unlink($thumb);
            }
            $msg = strtr($lang_errors['quota_exceeded'], array('[quota]' => ($USER_DATA['group_quota']),
                '[space]' => ($total_space_used >> 10)));
            cpg_die(ERROR, $msg, __FILE__, __LINE__);
        }
    }
    // Test if picture requires approval
    if (GALLERY_ADMIN_MODE) {
        $approved = 'YES';
    } elseif (!$USER_DATA['priv_upl_need_approval'] && $category == FIRST_USER_CAT + USER_ID) {
        $approved = 'YES';
    } elseif (!$USER_DATA['pub_upl_need_approval']) {
        $approved = 'YES';
    } else {
        $approved = 'NO';
    }
    $PIC_NEED_APPROVAL = ($approved == 'NO');
    // User ID is now recorded when in admin mode (casper)
    $user_id = USER_ID;
    $username= USER_NAME;
    $query = "INSERT INTO {$CONFIG['TABLE_PICTURES']} (pid, aid, filepath, filename, filesize, total_filesize, pwidth, pheight, ctime, owner_id, owner_name, title, caption, keywords, approved, user1, user2, user3, user4, pic_raw_ip, pic_hdr_ip) VALUES ('', '$aid', '" . addslashes($filepath) . "', '" . addslashes($filename) . "', '$image_filesize', '$total_filesize', '{$imagesize[0]}', '{$imagesize[1]}', '" . time() . "', '$user_id', '$username','$title', '$caption', '$keywords', '$approved', '$user1', '$user2', '$user3', '$user4', '$raw_ip', '$hdr_ip')";
    $result = db_query($query);

    return $result;
}

define("GIS_GIF", 1);
define("GIS_JPG", 2);
define("GIS_PNG", 3);

/**
* resize_image()
*
* Create a file containing a resized image
*
* @param  $src_file the source file
* @param  $dest_file the destination file
* @param  $new_size the size of the square within which the new image must fit
* @param  $method the method used for image resizing
* @return 'true' in case of success
*/
function resize_image($src_file, $dest_file, $new_size, $method, $thumb_use)
{
    global $CONFIG, $ERROR;
    global $lang_errors;

    $imginfo = getimagesize($src_file);
    if ($imginfo == null)
        return false;
        // GD can only handle JPG & PNG images
if ($imginfo[2] != GIS_JPG && $imginfo[2] != GIS_PNG && ($method == 'gd1' || ($method == 'gd2' && !$gifsupport))) {
        $ERROR = $lang_errors['gd_file_type_err'];
        return false;
    }
    $gifsupport = 0;
    // Check for GIF create support >= GD v2.0.28
    if ($method == 'gd2') {
       $gdinfo = gd_info();
       $gifsupport = $gdinfo["GIF Create Support"];
    }
    // height/width
    $srcWidth = $imginfo[0];
    $srcHeight = $imginfo[1];
    if ($thumb_use == 'ht') {
        $ratio = $srcHeight / $new_size;
    } elseif ($thumb_use == 'wd') {
        $ratio = $srcWidth / $new_size;
    } else {
        $ratio = max($srcWidth, $srcHeight) / $new_size;
    }
    $ratio = max($ratio, 1.0);
    $destWidth = (int)($srcWidth / $ratio);
    $destHeight = (int)($srcHeight / $ratio);
    // Method for thumbnails creation
    switch ($method) {
        case "im" :
            if (preg_match("#[A-Z]:|\\\\#Ai", __FILE__)) {
                // get the basedir, remove '/include'
                $cur_dir = substr(dirname(__FILE__), 0, -8);
                $src_file = '"' . $cur_dir . '\\' . strtr($src_file, '/', '\\') . '"';
                $im_dest_file = str_replace('%', '%%', ('"' . $cur_dir . '\\' . strtr($dest_file, '/', '\\') . '"'));
            } else {
                $src_file = escapeshellarg($src_file);
                $im_dest_file = str_replace('%', '%%', escapeshellarg($dest_file));
            }

            $output = array();
            /*
             * Hack for working with ImageMagick on WIndows even if IM is installed in C:\Program Files.
             * By Aditya Mooley <aditya@sanisoft.com>
             */
            if (eregi("win",$_ENV['OS'])) {
                $cmd = "\"".str_replace("\\","/", $CONFIG['impath'])."convert\" -quality {$CONFIG['jpeg_qual']} {$CONFIG['im_options']} -geometry {$destWidth}x{$destHeight} ".str_replace("\\","/" ,$src_file )." ".str_replace("\\","/" ,$im_dest_file );
                exec ("\"$cmd\"", $output, $retval);
            } else {
                $cmd = "{$CONFIG['impath']}convert -quality {$CONFIG['jpeg_qual']} {$CONFIG['im_options']} -geometry {$destWidth}x{$destHeight} $src_file $im_dest_file";
                exec ($cmd, $output, $retval);
            }


            if ($retval) {
                $ERROR = "Error executing ImageMagick - Return value: $retval";
                if ($CONFIG['debug_mode']) {
                    // Re-execute the command with the backtit operator in order to get all outputs
                    // will not work is safe mode is enabled
                    $output = `$cmd 2>&1`;
                    $ERROR .= "<br /><br /><div align=\"left\">Cmd line : <br /><font size=\"2\">" . nl2br(htmlspecialchars($cmd)) . "</font></div>";
                    $ERROR .= "<br /><br /><div align=\"left\">The convert program said:<br /><font size=\"2\">";
                    $ERROR .= nl2br(htmlspecialchars($output));
                    $ERROR .= "</font></div>";
                }
                @unlink($dest_file);
                return false;
            }
            break;

        case "gd1" :
            if (!function_exists('imagecreatefromjpeg')) {
                cpg_die(CRITICAL_ERROR, 'PHP running on your server does not support the GD image library, check with your webhost if ImageMagick is installed', __FILE__, __LINE__);
            }
            if ($imginfo[2] == GIS_JPG)
                $src_img = imagecreatefromjpeg($src_file);
            else
                $src_img = imagecreatefrompng($src_file);
            if (!$src_img) {
                $ERROR = $lang_errors['invalid_image'];
                return false;
            }
            $dst_img = imagecreate($destWidth, $destHeight);
            imagecopyresized($dst_img, $src_img, 0, 0, 0, 0, $destWidth, (int)$destHeight, $srcWidth, $srcHeight);
            imagejpeg($dst_img, $dest_file, $CONFIG['jpeg_qual']);
            imagedestroy($src_img);
            imagedestroy($dst_img);
            break;

        case "gd2" :
            if (!function_exists('imagecreatefromjpeg')) {
                cpg_die(CRITICAL_ERROR, 'PHP running on your server does not support the GD image library, check with your webhost if ImageMagick is installed', __FILE__, __LINE__);
            }
            if (!function_exists('imagecreatetruecolor')) {
                cpg_die(CRITICAL_ERROR, 'PHP running on your server does not support GD version 2.x, please switch to GD version 1.x on the config page', __FILE__, __LINE__);
            }
            if ($imginfo[2] == GIS_JPG)
                $src_img = imagecreatefromjpeg($src_file);
            else if ($imginfo[2] == GIS_GIF && $gifsupport)
                $src_img = imagecreatefromgif($src_file);
            else
                $src_img = imagecreatefrompng($src_file);
            if (!$src_img) {
                $ERROR = $lang_errors['invalid_image'];
                return false;
            }
            $dst_img = imagecreatetruecolor($destWidth, $destHeight);
            imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $destWidth, (int)$destHeight, $srcWidth, $srcHeight);
            imagejpeg($dst_img, $dest_file, $CONFIG['jpeg_qual']);
            imagedestroy($src_img);
            imagedestroy($dst_img);
            break;
    }
    // Set mode of uploaded picture
    chmod($dest_file, octdec($CONFIG['default_file_mode']));
    // We check that the image is valid
    $imginfo = getimagesize($dest_file);
    if ($imginfo == null) {
        $ERROR = $lang_errors['resize_failed'];
        @unlink($dest_file);
        return false;
    } else {
        return true;
    }
}
?>
Title: Re: .Gif without ImageMagick
Post by: kegobeer on July 31, 2004, 05:09:32 am
You still haven't put the check for gif support in the right place!

From my first post:
Quote
In function resize_image, above

Code: [Select]
// GD can only handle JPG & PNG images
add

Code: [Select]
$gifsupport = 0;
// Check for GIF create support >= GD v2.0.28
if ($method == 'gd2') {
  $gdinfo = gd_info();
  $gifsupport = $gdinfo["GIF Create Support"];
}

Here's the entire function resize_image.  Just replace yours with this one.

Code: [Select]
function resize_image($src_file, $dest_file, $new_size, $method, $thumb_use)
{
    global $CONFIG, $ERROR;
    global $lang_errors;

    $imginfo = getimagesize($src_file);
    if ($imginfo == null)
        return false;

    $gifsupport = 0;
    // Check for GIF create support >= GD v2.0.28
    if ($method == 'gd2') {
  $gdinfo = gd_info();
  $gifsupport = $gdinfo["GIF Create Support"];
    }

    // GD can only handle JPG & PNG images
    if ($imginfo[2] != GIS_JPG && $imginfo[2] != GIS_PNG && ($method == 'gd1' || ($method == 'gd2' && !$gifsupport))) {
$ERROR = $lang_errors['gd_file_type_err'];
        return false;
    }
    // height/width
    $srcWidth = $imginfo[0];
    $srcHeight = $imginfo[1];
    if ($thumb_use == 'ht') {
        $ratio = $srcHeight / $new_size;
    } elseif ($thumb_use == 'wd') {
        $ratio = $srcWidth / $new_size;
    } else {
        $ratio = max($srcWidth, $srcHeight) / $new_size;
    }
    $ratio = max($ratio, 1.0);
    $destWidth = (int)($srcWidth / $ratio);
    $destHeight = (int)($srcHeight / $ratio);
    // Method for thumbnails creation
    switch ($method) {
        case "im" :
            if (preg_match("#[A-Z]:|\\\\#Ai", __FILE__)) {
                // get the basedir, remove '/include'
                $cur_dir = substr(dirname(__FILE__), 0, -8);
                $src_file = '"' . $cur_dir . '\\' . strtr($src_file, '/', '\\') . '"';
                $im_dest_file = str_replace('%', '%%', ('"' . $cur_dir . '\\' . strtr($dest_file, '/', '\\') . '"'));
            } else {
                $src_file = escapeshellarg($src_file);
                $im_dest_file = str_replace('%', '%%', escapeshellarg($dest_file));
            }

            $output = array();
            /*
     * Hack for working with ImageMagick on WIndows even if IM is installed in C:\Program Files.
     * By Aditya Mooley <aditya@sanisoft.com>
     */
    if (eregi("win",$_ENV['OS'])) {
        $cmd = "\"".str_replace("\\","/", $CONFIG['impath'])."convert\" -quality {$CONFIG['jpeg_qual']} {$CONFIG['im_options']} -geometry {$destWidth}x{$destHeight} ".str_replace("\\","/" ,$src_file )." ".str_replace("\\","/" ,$im_dest_file );
exec ("\"$cmd\"", $output, $retval);
    } else {
        $cmd = "{$CONFIG['impath']}convert -quality {$CONFIG['jpeg_qual']} {$CONFIG['im_options']} -geometry {$destWidth}x{$destHeight} $src_file $im_dest_file";
exec ($cmd, $output, $retval);
    }
           

            if ($retval) {
                $ERROR = "Error executing ImageMagick - Return value: $retval";
                if ($CONFIG['debug_mode']) {
                    // Re-execute the command with the backtit operator in order to get all outputs
                    // will not work is safe mode is enabled
                    $output = `$cmd 2>&1`;
                    $ERROR .= "<br /><br /><div align=\"left\">Cmd line : <br /><font size=\"2\">" . nl2br(htmlspecialchars($cmd)) . "</font></div>";
                    $ERROR .= "<br /><br /><div align=\"left\">The convert program said:<br /><font size=\"2\">";
                    $ERROR .= nl2br(htmlspecialchars($output));
                    $ERROR .= "</font></div>";
                }
                @unlink($dest_file);
                return false;
            }
            break;

        case "gd1" :
            if (!function_exists('imagecreatefromjpeg')) {
                cpg_die(CRITICAL_ERROR, 'PHP running on your server does not support the GD image library, check with your webhost if ImageMagick is installed', __FILE__, __LINE__);
            }
            if ($imginfo[2] == GIS_JPG)
                $src_img = imagecreatefromjpeg($src_file);
            else
                $src_img = imagecreatefrompng($src_file);
            if (!$src_img) {
                $ERROR = $lang_errors['invalid_image'];
                return false;
            }
            $dst_img = imagecreate($destWidth, $destHeight);
            imagecopyresized($dst_img, $src_img, 0, 0, 0, 0, $destWidth, (int)$destHeight, $srcWidth, $srcHeight);
            imagejpeg($dst_img, $dest_file, $CONFIG['jpeg_qual']);
            imagedestroy($src_img);
            imagedestroy($dst_img);
            break;

        case "gd2" :
            if (!function_exists('imagecreatefromjpeg')) {
                cpg_die(CRITICAL_ERROR, 'PHP running on your server does not support the GD image library, check with your webhost if ImageMagick is installed', __FILE__, __LINE__);
            }
            if (!function_exists('imagecreatetruecolor')) {
                cpg_die(CRITICAL_ERROR, 'PHP running on your server does not support GD version 2.x, please switch to GD version 1.x on the config page', __FILE__, __LINE__);
            }
            if ($imginfo[2] == GIS_JPG)
                $src_img = imagecreatefromjpeg($src_file);
            else if ($imginfo[2] == GIS_GIF && $gifsupport)
$src_img = imagecreatefromgif($src_file);
    else
                $src_img = imagecreatefrompng($src_file);
            if (!$src_img) {
                $ERROR = $lang_errors['invalid_image'];
                return false;
            }
            $dst_img = imagecreatetruecolor($destWidth, $destHeight);
            imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $destWidth, (int)$destHeight, $srcWidth, $srcHeight);
            imagejpeg($dst_img, $dest_file, $CONFIG['jpeg_qual']);
            imagedestroy($src_img);
            imagedestroy($dst_img);
            break;
    }
    // Set mode of uploaded picture
    chmod($dest_file, octdec($CONFIG['default_file_mode']));
    // We check that the image is valid
    $imginfo = getimagesize($dest_file);
    if ($imginfo == null) {
        $ERROR = $lang_errors['resize_failed'];
        @unlink($dest_file);
        return false;
    } else {
        return true;
    }
}
Title: Re: .Gif without ImageMagick
Post by: ddekoning on July 31, 2004, 10:55:48 am
I replaced the code but when i upload a .gif i still get the message that it's not a GD extension :S
Title: Re: .Gif without ImageMagick
Post by: kegobeer on July 31, 2004, 02:42:50 pm
Ok, try replacing your original files with the ones in the attached zip.
Title: Re: .Gif without ImageMagick
Post by: ddekoning on July 31, 2004, 05:35:26 pm
Still no effect  :\'(
Title: Re: .Gif without ImageMagick
Post by: kegobeer on July 31, 2004, 08:07:17 pm
Do you have GD2 selected as your image software?

Create a new php file with this:

Code: [Select]
<?php
    $gdinfo 
gd_info();
    
$gifsupport $gdinfo["GIF Create Support"];
    echo 
$gifsupport;
    echo 
"<br />";
    
//echo var_dump($gifsupport);
?>

Upload it to your server and run it.  If you have GD 2.0.28 it should output 1.  If it doesn't, uncomment the var_dump line and see what GIF support you do have.
Title: Re: .Gif without ImageMagick
Post by: ddekoning on July 31, 2004, 09:11:53 pm
I had to uncommand the var_dump and the return is:

bool(false)
Title: Re: .Gif without ImageMagick
Post by: kegobeer on July 31, 2004, 11:42:25 pm
That means you don't have GIF read/write support.  Are you sure you have GD 2.0.28?  I know the latest version of php has 2.0.23.  Create a new php file with this:

Code: [Select]
<?php
phpinfo
();
?>

and you will get the GD version number.
Title: Re: .Gif without ImageMagick
Post by: Casper on August 01, 2004, 12:20:58 am
In versions 1.3, you can view the php info from the admin tools.

As you are struggling with this, try the easy method I suggested earlier.

Use your database tool, to change the entry for gif's in the filetypes table to document, then you can upload them.

Upload them as normal(don't worry if you get a red cross thumb at the upload stage), then create copies of the gif's, with the 'thumb_' prefix, and if necessary, the 'normal_' prefix, then upload them to the same folder as the images by ftp.

That's it, they should now show as normal.
Title: Re: .Gif without ImageMagick
Post by: kegobeer on August 01, 2004, 12:47:46 am
Once the next version of php is released with 2.0.28, hopefully there won't be any more struggling!   :D
Title: Re: .Gif without ImageMagick
Post by: Casper on August 01, 2004, 01:16:24 am
Yes, but there will be many hosts who won't upgrade for some time. I'll put money on one of my 2 hosts not doing it for a long time. :-\\
Title: Re: .Gif without ImageMagick
Post by: kegobeer on August 01, 2004, 02:40:03 am
I'm pretty lucky that my host upgrades often.  I did make sure to ask about a GD upgrade though.  ;)
Title: Re: .Gif without ImageMagick
Post by: j3 on September 12, 2005, 11:09:56 am
hello
someone has the files (gdgif.zip) someone posted earlier?
the link doesnt work for me and im not sure what code to change..
im using coppermine 1.3.4 with php4 and apache2
everything works for me except gif uploading.. :-\\