ThinkPHP发布安全更新版本(V6.1.0/V6.0.14),移除对think-filesystem库的依赖
发表于:2022-10-31 22:58:39浏览:3135次
10月底,ThinkPHP官方发布了V6.1.0及V6.0.14版本,本次更新为安全更新版本,主要修正了序列化漏洞问题和优化多语言判断机制,并且包含了ThinkORM的一些积累更新,推荐大家升级哦。
使用5.1版本的也可以更新到最新的V5.1.42版本。对于希望使用新版think-filesystem库的可以升级到V6.1版本.
之所以发布V6.1.0版本,主要是出于think-filesystem库的安全问题频繁,而且没法兼容更新,该版本目前并无其它架构调整,但不排除未来会引入其它新特性而提升PHP版本依赖。
主要更新:
1、删除废弃方法
2、优化多语言检测
3、修正命令行模式下的默认request
4、移除核心对think-filesystem库的依赖
ThinkORM主要更新:
1、修复 with&bind 调用多次导至前面的 hidden被替换的问题
2、改进软删除,支持动态调用
3、morphTo关联模型支持hasWhere查询
4、改进setAttr方法
5、修正多态关联模型多态类型未定义时抛出异常
温馨提示:很多小伙伴们升级到tp6.1后文件上传报错了,主要是上传模块缺少了think-filesystem库的依赖。文件上传无法使用,但是think\File 依旧有进行保留,可以使用think\File 代替进行文件操作,文件上传代码如下:
<?php
namespace app\index\controller;
use app\BaseController;
use think\File;
class Index extends BaseController
{
public function Upload($file)
{
// 获取文件基本信息
$fileInfo = pathinfo($file);
// 获取文件后缀
$extension = strtolower($file->getOriginalExtension());
// 获取文件地址和名称
$filePath = $fileInfo['dirname'] . '/' . $fileInfo['basename'];
// 文件地址转文件类
$file = new File($filePath);
// 文件转存目录(按自己喜好定义就行)
$dataPath = date('Ym');
$savePath = root_path() . 'public/storage/'.$dataPath.'/';
// 新的文件名(按自己喜好生成就行)
$fileName = $file->md5() . '.' . $extension;
// 转移临时文件到指定目录
$file->move($filePatch, $savePath.$fileName);
// 上传的业务逻辑写在这里
.......
}
/**
* 也可以使用 $file = new File('文件地址');得到文件对象
* /
}
推荐文章
- 最美的国产操作系统:深度操作系统 deepin 20.5 发布
- Flash已退出历史舞台,未来Web端3D的内容会怎样发展?
- aliplayer播放器,TcPlayer播放器,xgplayer播放器三款大厂的视频直播播放器对比
- 尝鲜,Windows 11默认壁纸下载,4K分辨率哦
- TP6便捷快速查询日、月、年数据的方法
- Unicode15.0标准发布,新增鹅、姜、驴、豌豆等emoji表情
- 焕然一新 新版 Vue3中文文档上线
- Thinkphp6在Windows下使用Phpstudy工具升级或全局安装composer
- JS检测移动设备环境:WeChat、Android、IOS
- 前端程序员后期的发展可以去干什么?

