ThinkPHP发布安全更新版本(V6.1.0/V6.0.14),移除对think-filesystem库的依赖
发表于:2022-10-31 22:58:39浏览:1281次
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('文件地址');得到文件对象
* /
}
推荐文章
- 勾股系列系统:项目任务协作管理系统 —— 勾股 DEV 3.8.31 发布
- thinkphp6一个部门可以有多个负责人主功能代码
- 国产PHP框架,ThinkPHP 8.1版本发布,新版功能盘点
- 勾股OA系统的进销存管理模块功能说明
- ThinkPHP发布安全更新版本(V6.1.0/V6.0.14),移除对think-filesystem库的依赖
- 用phpqrcode轻松生成二维码,可自带logo
- thinkphp使用where in查询order按照in的顺序排序
- 微信淘宝实现互通?有关部门开始要求即时通信软件解除屏蔽网址链接,公平竞争
- 推荐五款优秀的后台管理系统的前端框架
- php使用AES对部分代码进行加密