webp能将原图压缩30%左右还能保持清楚。所以正在被越来越多的人喜欢。
pb要增这个功能,第一步:找到ueditor中的Uploader.class.php,任意处添加函数。
/** * 将图片转换为WebP格式 */ private function convertToWebP() { $originalFilePath = $this->filePath; // 保存原始文件路径 $webpFilePath = preg_replace('/\\\\.(jpg|jpeg|png)$/i', '.webp', $this->filePath); $webpFullName = preg_replace('/\\\\.(jpg|jpeg|png)$/i', '.webp', $this->fullName); $webpFileName = preg_replace('/\\\\.(jpg|jpeg|png)$/i', '.webp', $this->fileName); if ($this->fileType === '.jpg' || $this->fileType === '.jpeg') { $image = imagecreatefromjpeg($this->filePath); } elseif ($this->fileType === '.png') { $image = imagecreatefrompng($this->filePath); } else { return false; } if ($image) if (imagewebp($image, $webpFilePath)) { $this->filePath = $webpFilePath; $this->fullName = $webpFullName; $this->fileName = $webpFileName; $this->fileType = '.webp'; $this->fileSize = filesize($webpFilePath); imagedestroy($image); unlink($originalFilePath); // 删除原始文件而不是WebP文件 return true; } imagedestroy($image); } return false; } /** * 转换上传的图片为 WebP 格式(不影响原始文件) */
第二步:请找到如下代码(大概率出现在函数 handleFile()
或 saveFile()
中):
找到:
$this->stateInfo = $this->stateMap[0];
后添加:
$this->convertToWebP(); // 上传成功后生成 .webp 副本
效果如:
$this->stateInfo = $this->stateMap[0]; $this->convertToWebP(); // 上传成功后生成 .webp 副本
第三步:funtion中的file.php中添加一个函数
// 添加一个新的函数用于转换图片为WebP格式 function convert_to_webp($src, $dest, $quality = 80) { $info = getimagesize($src); $is_converted = false; switch ($info['mime']) { case 'image/jpeg': $image = imagecreatefromjpeg($src); $is_converted = imagewebp($image, $dest, $quality); imagedestroy($image); break; case 'image/gif': // 对于GIF文件,直接返回false,不进行WebP转换 return false; break; case 'image/png': $image = imagecreatefrompng($src); $is_converted = imagewebp($image, $dest, $quality); imagedestroy($image); break; default: return false; } return $is_converted; }
Ok了
webp能将原图压缩30%左右还能保持清楚。所以正在被越来越多的人喜欢。pb要增这个功能,第一步:找到ueditor...
在外贸网站建设中,我们会遇到有客户说需要用户前端留言的时候可以上传自定义的文件或者图片等资料。那么这...
如果新建了一个网站为中文版,安装到根目录下。然后复制了中文版的数据和内容,安装到子目录下作为英文站点...
像这种谷歌自带的人机身份验证,实际上有很多插件可以实现。但是有客户看他们同行都用的谷歌的这种,也让我...