详情页

fastadmin学习日记:fastadmin(thinkphp)如何实现png转jpg

时间:2023年05月30日

编辑:佚名

png格式本身优点比较多,但一个比较大的缺点是存储空间占用较大,网络传输占用带宽,所以web传输jpg更优,fastadmin(thinkphp)如何实现png转jpg呢?下面是具体实现的函数,前提是已经安装过thinkphp image组件:

fastadmin学习日记:fastadmin(thinkphp)如何实现png转jpg
function Png2Jpg($url)
{
    //如果是远程文件直接返回
    if(substr($url,0,7)=='/upload'){
        //本地文件继续执行
    }else{
        //远程文件直接返回
        return $url;
    }
    $suffix = strtolower(pathinfo($url, PATHINFO_EXTENSION));
    if (!in_array($suffix, ['gif', 'jpg', 'jpeg', 'bmp', 'png', ''])) {
        $suffix = 'png';
    }
    //var_dump($suffix);
    $uploadDir = substr($url, 0, strripos($url, '/')+1 );
    $fileName = substr($url, strripos($url, '/') + 1);
    // 保存路径
    $save_dir = ROOT_PATH . 'public' . $uploadDir;
    //检查文件是否存在
    if(file_exists($save_dir.$fileName)){
        //存在本地文件了直接执行,不存在的直接返回false
    }else{
        return false;
    }
    //开始缩略图
    if($save_dir.$fileName){
        try {
            $image=\think\Image::open($save_dir . $fileName);//路径指向你上传的图片
        } catch (Exception $e) {
            print $e->getMessage();
            echo '错误图片:'.$save_dir.$fileName.'<br>';
            return false;
        }
        $image->save($save_dir . $fileName);
    }
    return $uploadDir.$fileName;
}
相关文章
猜你需要