图片按照宽高比排序

由于图片上传的时候没有限制比例, 结果导致页面输出效果是这样的,


图片按照宽高比排序_第1张图片
yu.png

要是裁切图片, 图片显示不全, 要是强制输出, 图片会失祯
于是老大就说了, 你把差不多大小的放前面嘛

这样我就得写个函数按照图片宽高比排序了
一开始我是打算用宽高差排序, 然后发现有的图片是200 x 300, 有的图片是700 x 400
这样的话用宽高差肯定会出问题的, 就只能用宽高比了

 $d_v) {
        // 用 getimagesize() 这个 GD 函数获取图片宽高比, 赋值给新变量 $d_v["w_h"]
        // 用 ++$i 的原因是为了让键保持唯一, 不然宽高比一样的图片会被覆盖掉
        $d_v["w_h"] = (getimagesize($d_v[$feild])[0] / getimagesize($d_v[$feild])[1]) * 100 + ++$i;

        // 这样就得到了一个宽高比为键的数组 $dopage
        $dopage[$d_v["w_h"]] = $d_v;
    }
// 按照键将数组排序, 生成排序后的宽高比为键的新数组 $dopage
    $dopage = krsort($sort);
}

// 用 sort_image() 函数将 $activity 换成成排序后的 $activity 
$activity = sort_image($activity, "picurl");

排序限制图片大小后的效果是这样的

图片按照宽高比排序_第2张图片
Paste_Image.png

先收藏再说, 万一用得到呢, 是吧
阅读原文

你可能感兴趣的:(图片按照宽高比排序)