96编辑器旗下产品
找图
终身
ID:0
到期时间:永久
退出登录
您的位置:首页 > 百科管理 > 详情

thinkphp5 图片压缩-thinkphp image类 缩略图为什么旋转九十度

原创:找图网 2023-04-11 00:11:31
  • thinkphp如何做图片压缩呢?

  • 在上传图片的时候先看看图片有多大,一般来说导航幻灯片的图片单张大小尽量不超100k,产品图不超过20k,这样加载还慢的话就用ajax后加载方法,可以是滚动加载之类,但是对蜘蛛抓取页面并不是很友好。

    至于你说的用tp把图片压缩,那只能是将图片的尺寸改成你想要的尺寸,大小的话是web所用格式大小,等页面加载完你又换原图,这样相当于又加载了一遍,还不如做ajax滚动加载。

  • thinkphp 怎么用程序自动判断压缩图片的大小

  • 直接使用THINKPHP自带的方法就能获取了,你可以参考以下代码!

    $image = new \Think\Image(); 

    $image->open('./1.jpg');

    $width = $image->width(); // 返回图片的宽度

    $height = $image->height(); // 返回图片的高度

    $type = $image->type(); // 返回图片的类型

    $mime = $image->mime(); // 返回图片的mime类型

    $size = $image->size(); // 返回图片的尺寸数组 0 图片宽度 1 图片高度

    原生PHP是这样的:

    //int filesize ( string $filename )

    // 输出类似:: 1024 bytes

    $filename = '';

    echo $filename . ': ' . filesize($filename) . ' bytes';

  • thinkphp image类 缩略图为什么旋转九十度

  • 我这样解决的:

    $src = $_FILES['imgfile']['tmp_name'];

    if($src){

    $image = imagecreatefromstring(file_get_contents($src));

    $exif = exif_read_data($src);

    if(!empty($exif['Orientation'])) {

    switch($exif['Orientation']) {

    case 8:

    $rotate = imagerotate($image,90,0);

    break;

    case 3:

    $rotate = imagerotate($image,180,0);

    break;

    case 6:

    $rotate = imagerotate($image,-90,0);

    break;

    }

    imagepng($rotate,$src,100);

    }

    $image = \think\Image::open($src);

    $image->thumb(300,200);

    $saveName = time() . '.png';

    $image->save(ROOT_PATH . 'public/static/uploads/' . $saveName);

    $data["img"] = '/uploads/' . $saveName;

    }

    直接旋转了临时文件,反正压缩后都是png,就不分图片类型了。

    最新文章 更多
    最新素材 更多
    公司介绍 网站地图 图片资讯
    Copyright © 2010-2022 山东找图网络科技有限公司  鲁ICP备18007836号-3  邮箱:15653358549@163.com