[英]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.