圖片按照寬高比排序

由于圖片上傳的時候沒有限制比例, 結(jié)果導(dǎo)致頁面輸出效果是這樣的,


yu.png

要是裁切圖片, 圖片顯示不全, 要是強(qiáng)制輸出, 圖片會失禎
于是老大就說了, 你把差不多大小的放前面嘛

這樣我就得寫個函數(shù)按照圖片寬高比排序了
一開始我是打算用寬高差排序, 然后發(fā)現(xiàn)有的圖片是200 x 300, 有的圖片是700 x 400
這樣的話用寬高差肯定會出問題的, 就只能用寬高比了

<?php
// 前提保證 php 有安裝 GD 庫擴(kuò)展
// 先獲取從數(shù)據(jù)庫讀出來的單頁數(shù)據(jù)  $activity
// ...

/**
 * 根據(jù)圖片寬高比排序
 * @param $dopage   數(shù)據(jù)庫讀出來的單頁數(shù)據(jù)
 * @param $feild    表中圖片的字段
 */
function sort_image($dopage, $feild){
    $sort = array();    // 聲明排序容器數(shù)組
    $i = 0;     // 聲明寬高比預(yù)加變量

// 遍歷 $dopage 獲取圖片寬高比
    foreach ($dopage as $d_k => $d_v) {
        // 用 getimagesize() 這個 GD 函數(shù)獲取圖片寬高比, 賦值給新變量 $d_v["w_h"]
        // 用 ++$i 的原因是為了讓鍵保持唯一, 不然寬高比一樣的圖片會被覆蓋掉
        $d_v["w_h"] = (getimagesize($d_v[$feild])[0] / getimagesize($d_v[$feild])[1]) * 100 + ++$i;

        // 這樣就得到了一個寬高比為鍵的數(shù)組 $dopage
        $dopage[$d_v["w_h"]] = $d_v;
    }
// 按照鍵將數(shù)組排序, 生成排序后的寬高比為鍵的新數(shù)組 $dopage
    $dopage = krsort($sort);
}

// 用 sort_image() 函數(shù)將 $activity 換成成排序后的 $activity 
$activity = sort_image($activity, "picurl");

排序限制圖片大小后的效果是這樣的

Paste_Image.png

先收藏再說, 萬一用得到呢, 是吧
閱讀原文

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,828評論 25 709
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,099評論 4 61
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,104評論 1 92
  • 春節(jié)看了松本清張的sp《強(qiáng)蟻》,一貫的惡女,一貫的御用——米倉涼子。 米倉涼子可以說是惡女系代言人了。除了《強(qiáng)蟻》...
    封鈮閱讀 1,003評論 6 5
  • 轉(zhuǎn)自http://www.ruanyifeng.com/blog/2012/07/three_ways_to_de...
    lambdang閱讀 794評論 0 1

友情鏈接更多精彩內(nèi)容