【发布时间】:2019-10-22 18:35:52
【问题描述】:
我将此代码用于带有 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;
请帮忙。
【问题讨论】:
-
我假设你的 $fileType 只是一个字符串。试试 switch(strtolower($fileType)){
-
谢谢。我试过了,但它不起作用。都一样,.JPG上没有水印
-
也许底层函数不需要扩展名为 'JPG' 的文件?
标签: php file-upload watermark