Amazon EC2上不支持消息方法“createThumb”的Engine_Exception

时间:2010-10-29 11:00:36

标签: php image-processing amazon-ec2

createThumb()方法在apache server上使用localhost。但是,同样的功能不适用于Amazon EC2。这显示了一个错误,

异常'Engine_Exception',消息'Method'createThumb“not supported”in /var/www/justrides/application/modules/Core/Api/Abstract.php:46

服务器中启用了GD库。任何建议请。

1 个答案:

答案 0 :(得分:0)

以下是我在亚马逊网站上发现的内容:

function createthumb($name,$filename,$new_w,$new_h){
      $system=explode('.',$name);
      if (preg_match('/jpg|jpeg/',$system[1])){
           $src_img=imagecreatefromjpeg($name);
      }
      if (preg_match('/png/',$system[1])){
           $src_img=imagecreatefrompng($name);
      }
      $old_x=imageSX($src_img);
      $old_y=imageSY($src_img);
      if ($old_x > $old_y) {
           $thumb_w=$new_w;
           $thumb_h=$old_y*($new_h/$old_x);
      }
      if ($old_x < $old_y) {
           $thumb_w=$old_x*($new_w/$old_y);
           $thumb_h=$new_h;
      }
      if ($old_x == $old_y) {
           $thumb_w=$new_w;
           $thumb_h=$new_h;
      }
      $dst_img=ImageCreateTrueColor($thumb_w,$thumb_h);
      imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y); 
      if (preg_match("/png/",$system[1])){
           imagepng($dst_img,$filename); 
      } else {
           imagejpeg($dst_img,$filename); 
      }
      imagedestroy($dst_img); 
      imagedestroy($src_img); 
 }

createthumb()函数是一个简单的函数,它接受四个参数:要处理的文件,输出文件名,输出文件的宽度和输出文件的高度。该功能使用了GD图像处理工具,并改编自http://icant.co.uk/articles/phpthumbnails/的Christian Heilmann功能。

这是另一个缩略图库: http://phpthumb.sourceforge.net/