繁体   English   中英

php 中的 watermark.JPG 图像存在问题

[英]Problem with watermark .JPG images in php

我将此代码用于带有 PHP 上传的水印照片。 如果照片是.jpg ,一切都很好。 如果.JPG (大写)则停止工作:

 $targetFilePath = $folderPath . $file_name; 
 $watermarkImg = imagecreatefrompng($watermarkImagePath); 

 switch($fileType){ 
     case 'jpg': 
         $im = imagecreatefromjpeg($targetFilePath); 
         break;                         
     case 'jpeg': 
         $im = imagecreatefromjpeg($targetFilePath); 
         break; 
     case 'png': 
         $im = imagecreatefrompng($targetFilePath); 
         break; 
     default: 
         $im = imagecreatefromjpeg($targetFilePath); 
 } 

 $marge_right = 1; 
 $marge_bottom = 1; 

 $sx = imagesx($watermarkImg); 
 $sy = imagesy($watermarkImg); 

 imagecopy($im, $watermarkImg, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($watermarkImg), imagesy($watermarkImg)); 

 imagejpeg($im, $targetFilePath,70); 
 imagedestroy($im); 

我尝试添加这个,但它没有帮助:

 case 'JPG': 
     $im = imagecreatefromjpeg($targetFilePath); 
     break; 

请帮忙。

由于 strtolower 不起作用。 像这样使用 if/else 条件_

if(preg_match('/[.](jpg)$/i', $file_name)) {  
    $im = imagecreatefromjpeg($targetFilePath);  
} else if (preg_match('/[.](jpeg)$/i', $file_name)) {  
    $im = imagecreatefromjpeg($targetFilePath);  
} else if (preg_match('/[.](png)$/i', $file_name)) {  
    $im = imagecreatefrompng($targetFilePath);  
}  

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM