给图片生成水印,将图片读入内存时有以下代码段
switch ($imgType) {
case "png":
$img_r = imagecreatefrompng($qipasrc);
break;
case "jpg":
$img_r = imagecreatefromjpeg($qipasrc);
break;
case "jpeg":
$img_r = imagecreatefromjpeg($qipasrc);
break;
case "gif":
$img_r = imagecreatefromgif($qipasrc);
break;
}
当$imgType 为jpg 时有的图片会报一个warning级别的php错误,错误内容为…is not a valid JPEG file。这里将case "jpg" 中的代码修改为:
$img_r = @ImageCreateFromJPEG($qipasrc);
if (!$img_r) {
$img_r = imagecreatefromstring(file_get_contents($qipasrc));
}
也有人说添加下面的代码也可以:
ini_set("gd.jpeg_ignore_warning", 1);