簡體   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