建站学院

铸就企业 服务社会 成就自己

PbootCMS增加webp上传文件类型的方法

发布时间:2025-05-02点击数:66

什么是WebP(发音:weppy)是一种同时提供了有损压缩与无损压缩(可逆压缩)的图片文件格式,派生自影像编码格式VP8,被认为是WebM多媒体格式的姊妹项目,是由Google在购买On2 Technologies后发展出来,以BSD授权条款发布。

WebP支持的像素最大数量是16383x16383。有损压缩的WebP仅支持8-bit的YUV 4:2:0格式。而无损压缩(可逆压缩)的WebP支持VP8L编码与8-bit之ARGB色彩空间。又无论是有损或无损压缩皆支持Alpha透明通道、ICC色彩配置、XMP诠释数据。

WebP有静态与动态两种模式。动态WebP(Animated WebP)支持有损与无损压缩、ICC色彩配置、XMP诠释数据、Alpha透明通道。


1,修改全局上传配置

打开文件:/config/config.php

示例代码  在大约第27行左右,找到upload 配置数组,并在format属性中追加 webp

webp上传

修改上传配置:

    // 上传配置
    'upload' => array(
        'format' => 'jpg,jpeg,png,gif,xls,xlsx,doc,docx,ppt,pptx,rar,zip,pdf,txt,mp4,avi,flv,rmvb,mp3,otf,ttf,webp',
        'max_width' => '1920',
        'max_height' => ''
    ),


2,配置上传的 webp图片类型

打开文件:/core/function/file.php

示例代码 大约在194行左右 找到 $types 属性添加 webp

webp上传

修改图片的类型

// 判断文件是否是图片
function is_image($path)
{
    $types = '.gif|.jpeg|.png|.bmp|.webp'; // 定义检查的图片类型
    if (file_exists($path)) {
        $info = getimagesize($path);
        $ext = image_type_to_extension($info['2']);
        if (stripos($types, $ext) !== false)
            return true;
    }
    return false;
}


3,修改UEditor编辑器配置

打开UEditor配置文件:/core/extend/ueditor/php/config.json

大约在 7 行左右,在imageAllowFiles数组中追加 .webp

webp上传

修改图片格式显示

    /* 上传图片配置项 */
    "imageActionName": "uploadimage", /* 执行上传图片的action名称 */
    "imageFieldName": "upfile", /* 提交的图片表单名称 */
    "imageMaxSize": 20480000, /* 上传大小限制,单位B */
    "imageAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp", ".webp"], /* 上传图片格式显示 */



结束