緣由\r
在 IIS6.0 環境下安裝 CPG 使用 exec() 呼叫ImageMagick 一直無法成功, 不知是 IIS 的權限問題沒解決或…什麼碗哥問題…?? 測試安裝 ImageMagick始終無法成功之下, 快搞死了…我索性放棄了!! 決定改由 GD2下手; 由於 GD2 在 2.0.28版之後再度支援 GIF 格式之縮圖, 因此正好解決非使用 IM 轉 GIF 不可的困擾。
我測試的平台\r
Windows 2003 + IIS6.0 + PHP 4.3.10 (或 PHP 4.3.4) + PHP GD2.0.28Compatible+ Coppermine photo gallery 1.32
1) PHP.ini
找到
代碼: 選擇全部
;extension=php_gd2.dll
找到
代碼: 選擇全部
;extension_dir = "./"
確定你有php_gd2.dll? 如果沒有, 請到 http://www.php.net/downloads.php 下載 zip 包
2) CPG 1.3.2
由於 CPG 1.32 在圖形轉換的判斷上; 在 GD1 & GD2 都認定沒有支援 GIF 格式; 因此, 我們只要修改以下幾支 .php Source code 即可使用 GD2 來轉 GIF圖檔。
>>尋找 showthumb.php' :
[Line58 改成]
代碼: 選擇全部
if ($imginfo[2] == GIS_GIF && ($method == 'gd1' || $method == 'gd2')) {
代碼: 選擇全部
case "gd2" :
if ($imginfo[2] == GIS_GIF) //JEFF.SUN +GIF
$src_img = imagecreatefromgif($src_file);
elseif ($imginfo[2] == GIS_JPG)
代碼: 選擇全部
default :
if ($imginfo[2] == GIS_GIF) //JEFF.SUN +GIF
$src_img = imagecreatefromgif($src_file);
elseif ($imginfo[2] == GIS_JPG)
[Line1231 改成]
代碼: 選擇全部
} elseif ($imginfo[2] != GIS_GIF && $imginfo[2] != GIS_JPG && $imginfo[2] != GIS_PNG && ($CONFIG['thumb_method'] == 'gd1' || $CONFIG['thumb_method'] == 'gd2')) { //JEFF.SUN +GIF
代碼: 選擇全部
} elseif ($imginfo[2] != GIS_GIF && $imginfo[2] != GIS_JPG && $imginfo[2] != GIS_PNG && ($CONFIG['thumb_method'] == 'gd1' || $CONFIG['thumb_method'] == 'gd2')) { //JEFF.SUN +GIF
[Line853 改成]
代碼: 選擇全部
if ($imginfo[2] != GIS_GIF $imginfo[2] != GIS_JPG && $imginfo[2] != GIS_PNG && ($CONFIG['thumb_method'] == 'gd1' || $CONFIG['thumb_method'] == 'gd2')) {
>>尋找 include\picmgmt.inc.php' :
[Line122 改成]
代碼: 選擇全部
if ($imginfo[2] != GIS_GIF && $imginfo[2] != GIS_JPG && $imginfo[2] != GIS_PNG && ($method == 'gd1' || $method == 'gd2')) {
代碼: 選擇全部
if ($imginfo[2] == GIS_GIF) //JEFF.SUN +GIF
$src_img = imagecreatefromgif($src_file);
elseif ($imginfo[2] == GIS_JPG)
代碼: 選擇全部
if ($imginfo[2] == GIS_GIF) //JEFF.SUN +GIF
$src_img = imagecreatefromgif($src_file);
elseif ($imginfo[2] == GIS_JPG)

我的記錄文件原文在 ..
http://home.pchome.com.tw/myhome/smalls ... D2_GIF.pdf