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变量有关,现在似乎工作正常。
答案 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需要一个图像资源,由其中一个图像创建函数返回。它当然看起来一样,但也许它们不是。