首先来看上传和图片处理。tp5封装了常用的图片处理方法,可以很方便的直接使用。
1、首先通过composer安装图片处理库。composer的安装和使用参见这里。
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、图片处理以图片切割为例
public function cutface() {
$pic=str_replace(GOD_ROOT,'',input('face_images'));
$image = \think\Image::open($pic);
$newpic=md5(Session::get('admin_name')).'.'.$image->type();//设置新文件名
$image->crop(input('w'), input('h'),input('x'),input('y'))->save('public/uploads/'.date('Ymd').'/'.$newpic);//切割
$newpicpath=GOD_ROOT.'public/uploads/'.date('Ymd').'/'.$newpic;//设置新文件路径
db('user')->where('username',Session::get('admin_name'))->update(['facepic'=>$newpicpath]);//更新数据库
@unlink($pic);//删除原图
echo $newpicpath;
}
4、多语言
首先配置文件内:
'lang_switch_on' => true,
'lang_list' => ['zh-cn','en-us',],
在application/lang下建立en-us.php语言包,例如:
return [
// 固定文字语言包
'用户名' => 'username',
'密码' => 'password',
'你好' =>'hello',
];
控制器内需要引入:
use think\Lang;
lang::set('再见', 'byebye','en-us');//模板内使用{:lang('再见')}
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="http://libs.baidu.com/jquery/1.10.2/jquery.js"></script>
<script>
$('.btn').click(function(){
var data={'lang':$(this).attr('lang')}
$.get("{:url('Index/lang')}",data,function(){
location.reload();
})
})
</script>
上一篇: 降低网站跳出率的七个方法
下一篇: JS发送手机验证码倒计时特效
售后保障
承诺任何问题1小时内解决数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款