ThinkPHP发布安全更新版本(V6.1.0/V6.0.14),移除对think-filesystem库的依赖
发表于:2022-10-31 22:58:39浏览:2428次
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('文件地址');得到文件对象
* /
}
推荐文章
- Edge浏览器窗口关闭圆角效果的解决办法
- 微信小程序wx.scanCode,扫描二维码或者条形码获取数据
- Unicode15.0标准发布,新增鹅、姜、驴、豌豆等emoji表情
- 国产PHP框架,ThinkPHP 8.1版本发布,新版功能盘点
- JS中三个点(...)是什么意思?其实它的真名叫“扩展运算符”
- css3修改美化radio、checkbox的默认样式的简单方案
- JavaScript实现两个日期之间的工时计算,排除周末,每天工作日是8小时
- 微软推出 VS Code for the Web 无需在 PC 上进行安装 打开浏览器就可以开始工作
- PHP实现工作年限自动计算,工作0-6个月的算0.5年,7-12个月的算1年
- 82个常规的前端JavaScript方法封装(61~70)

