圖片上傳后壓縮 Thinkphp


之前做的微信端投票功能客戶反應系統卡、慢,非常不流暢,我們測試了幾次並沒有發現問題,后來察覺到可能是圖片大小的問題,於是在手機流量網絡下測試才發現,用戶上傳的圖片一般都在2M左右,所以導致在網絡不好時,系統反應太慢,而且也浪費很多圖片流量;

開發時沒有發現是因為一直都在網速很好的wifi環境下測試,所以忽視了圖片太大占用流量的問題。

所以要對用戶上傳的圖片進行壓縮,壓縮到時候手機顯示的圖片質量,以后就忽略原圖,全部使用壓縮后的新圖;

ThinkPHP在圖片上傳后有自動壓縮一張新圖片的功能,新圖片的名字時原圖前面加thumb__,放在同一個文件夾下;

使用案例如下

import('ORG.Net.UploadFile');
        $upload = new UploadFile();
        $upload->maxSize  = 4194304;
        $upload->allowExts  = array('jpg', 'gif', 'png', 'jpeg');
        $upload->savePath =  'Public/Mxun/vote/';
        //略所圖
        $upload->thumb = true; //開啟略所圖
        $upload->thumbType = 0; //保持原始比例
        $upload->thumbMaxWidth = '50,480';
        $upload->thumbMaxHeight = '50,640';

 壓縮后的圖片大約在30kb左右,項目流暢度大幅提升。

存在的問題:壓縮圖片只能在用戶上傳圖片后進行,如果用戶上傳的圖片很大,網絡不好,依然需要大量的時間,如果能在用戶上傳前就壓縮好圖片就好了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM