分(fēn)享到:

關于thinkphp5的上傳、圖片處理(lǐ)、多語言處理(lǐ)方法

日(rì)期:2017-01-09 14:35:00     閱讀(dú):2195     文章(zhāng)來(lái)源:源美網絡     标簽:深圳網站(zhàn)建設,深圳網站(zhàn)設計(jì)

首先來(lái)看(kàn)上傳和圖片處理(lǐ)。tp5封裝了常用的圖片處理(lǐ)方法,可(kě)以很方便的直接使用。

1、首先通過composer安裝圖片處理(lǐ)庫。composer的安裝和使用參見(jiàn)這裡(lǐ)

composer require topthink/think-image

下載完成後,目錄位于vendor\topthink\think-image

2、上傳

$file = request()->file('image');

$info = $file->validate(['size'=>9000000,'ext'=>'jpg,png,gif'])->move(ROOT_PATH . 'public' . DS . 'uploads');

if($info){

        // 成功上傳後 獲取上傳信息

        // 輸出 jpg

        //echo $info->getExtension();

        // 輸出 20160820/42a79759f284b767dfcb2a0197904287.jpg

        echo GOD_ROOT."public/uploads/".$info->getSaveName()."";

        // 輸出 42a79759f284b767dfcb2a0197904287.jpg

        //echo $info->getFilename(); 

}else{

// 上傳失敗獲取錯誤信息

echo $file->getError();

}

3、圖片處理(lǐ)以圖片切割爲例

public function cutface() {

$pic=str_replace(GOD_ROOT,'',input('face_images'));

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

$newpic=md5(Session::get('admin_name')).'.'.$image->type();//設置新文件(jiàn)名

$image->crop(input('w'), input('h'),input('x'),input('y'))->save('public/uploads/'.date('Ymd').'/'.$newpic);//切割

$newpicpath=GOD_ROOT.'public/uploads/'.date('Ymd').'/'.$newpic;//設置新文件(jiàn)路(lù)徑

db('user')->where('username',Session::get('admin_name'))->update(['facepic'=>$newpicpath]);//更新數據庫

@unlink($pic);//删除原圖

echo $newpicpath;

}

4、多語言

首先配置文件(jiàn)内:

'lang_switch_on' => true,

'lang_list' => ['zh-cn','en-us',],

在application/lang下建立en-us.php語言包,例如(rú):

return [

    // 固定文字語言包

    '用戶名'        => 'username',

    '密碼'        => 'password',

    '你(nǐ)好'    =>'hello',

];

控制器内需要引入:

use think\Lang;

lang::set('再見(jiàn)', 'byebye','en-us');//模闆内使用{:lang('再見(jiàn)')}

lang::set(['按鈕1'=>'button1','按鈕2'=>'button2'],'','en-us'); //批量設置

Lang::get('登錄成功') //使用語言包

語言切換:

public function lang() {

switch ($_GET['lang']) {

case 'cn':

cookie('think_var', 'zh-cn');

break;

case 'en':

cookie('think_var', 'en-us');

break;

//其它語言

}

}

<A>英文</A>  -  <A>中文</A>

<script src="static/js/jquery.js"></script>

<script>

$('.btn').click(function(){

    var data={'lang':$(this).attr('lang')}

    $.get("{:url('Index/lang')}",data,function(){

    location.reload();

    })

})

</script>



文章(zhāng)引用:

本站(zhàn)文章(zhāng)爲深圳網站(zhàn)建設·源美網絡原創策劃,如(rú)有版權糾紛或者違規問(wèn)題,請(qǐng)聯系我們删除,謝謝!

上一篇: 降低網站(zhàn)跳(tiào)出率的七個方法

下一篇: JS發送手機(jī)驗證碼倒計(jì)時特效

返回列表
最新案例
OUR ADVANTAGE WORKS

售後保障

承諾任何問(wèn)題1小時内解決

數據備份

更安全、更高效、更穩定

價格公道精準

項目經理(lǐ)精準報價不弄虛作(zuò)假

合作(zuò)無風(fēng)險

重合同講信譽,無效全額退款