这个php GD代码有问题吗?

时间:2010-05-17 18:25:55

标签: php gd

     if ($img = @imagecreatefromjpeg('./images/upload/13/1.JPG')) {

         imagejpeg($img, $path, 100);
            imagedestroy($img);

     } else {

         die ("image was not created or saved");

     }

我收到了消息:

警告:imagejpeg():8在第276行的C:\ xampp \ htdocs \ invivid \ libraries \ photograph_classes.php中不是有效的图像资源

警告:imagedestroy():8在第277行的C:\ xampp \ htdocs \ invivid \ libraries \ photograph_classes.php中不是有效的图像资源

最初正在创建图像,我们从if语句中知道这一点,但为什么imagejpeg或imagedestroy不能正常工作?

解决方案:好的,我认为这与错误的$ path变量有关,现在似乎工作正常。

2 个答案:

答案 0 :(得分:0)

来自imagecreatefromjpeg上的documentation page(尽管这似乎特别难以置信):

imagecreatefromJPEG is for .JPEG and .JPG ending
&
imagecreatefromjpeg is for .jpeg and .jpg ending.

That function is case sensitive.

另一个值得尝试的事情可能是设置

ini_set('gd.jpeg_ignore_warning', 1);

并查看是否能解决图像损坏的假定问题。

答案 1 :(得分:0)

我从未像现在这样使用它(没有创建新图像,进行一些操作等),但似乎手册有点模糊:imagecreatefromjpeg返回图像资源标识符< / em>和imagejpeg需要一个图像资源,由其中一个图像创建函数返回。它当然看起来一样,但也许它们不是。