Thinkphp5 自定义上传文件名的实现方法


Posted in PHP onJuly 23, 2019

这几天在做tp5的上传文件模块,项目需求是要把文件名在上传之后修改为 用户名+原文件名的组合形式,在网上找了一会儿发现好像没有类似的文章。。。只好自己去研究研究了。

之前查看过看云上面的官方手册,文件上传那一块真的是讲的含糊,对于我们这个为了项目自学tp5的大学生来说到处都是知识盲区啊。

Tp5文件相关操作模块都在 thinkphp\library\think\File.php里面,我们找到第335行的move()函数

/**
 * 移动文件
* @access public
 * @param string $path 保存路径
* @param string|bool $savename 保存的文件名 默认自动生成
* @param boolean $replace 同名文件是否覆盖
* @return false|File
 */

  public function move($path, $savename = true, $replace = true){

上面写的 $savename 是一个String或者bool类型,所以直接传入文件名或者文件名变量就行了

在自己的相关代码里写上:

$saveName = 'Tom';
$info = $file->move('./Upload',$saveName,false);

再上传一次就可以看到上传的文件已经被修改为了Tom。

Thinkphp5 自定义上传文件名的实现方法

存进数据库的名字也是Tom,说明文件名是完全改了的。

Thinkphp5 自定义上传文件名的实现方法

由此可得,需要什么功能直接去框架的文件里面去找,感觉比看手册详细多了!

总结

以上所述是小编给大家介绍的Thinkphp5 自定义上传文件名的实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

PHP 相关文章推荐
测试您的 PHP 水平的题目
May 30 PHP
Discuz 模板语句分析及知识技巧
Aug 21 PHP
PHP iconv 解决utf-8和gb2312编码转换问题
Apr 12 PHP
让CodeIgniter的ellipsize()支持中文截断的方法
Jun 12 PHP
PHP格式化MYSQL返回float类型的方法
Mar 30 PHP
PHP的消息通信机制测试实例
Nov 10 PHP
详解PHP中的序列化、反序列化操作
Mar 21 PHP
php从数据库中读取特定的行(实例)
Jun 02 PHP
PHP7.1实现的AES与RSA加密操作示例
Jun 15 PHP
PHP微信H5支付开发实例
Jul 25 PHP
PHP 结合 Boostrap 结合 js 实现学生列表删除编辑及搜索功能
May 21 PHP
php连接mysql之mysql_connect()与mysqli_connect()的区别
Jul 19 PHP
PHP中__set()实例用法和基础讲解
Jul 23 #PHP
PHP大文件分块上传功能实例详解
Jul 22 #PHP
PHP商品秒杀问题解决方案实例详解【mysql与redis】
Jul 22 #PHP
php多进程应用场景实例详解
Jul 22 #PHP
PHP实现的多进程控制demo示例
Jul 22 #PHP
php+lottery.js实现九宫格抽奖功能
Jul 21 #PHP
在 Laravel 项目中使用 webpack-encore的方法
Jul 21 #PHP
You might like
利用PHP制作简单的内容采集器的代码
2007/11/28 PHP
PHP中判断变量为空的几种方法小结
2013/11/12 PHP
PHP中的命名空间详细介绍
2015/07/02 PHP
33道php常见面试题及答案
2015/07/06 PHP
PHP常用函数之格式化时间操作示例
2019/10/21 PHP
js中如何把字符串转化为对象、数组示例代码
2013/07/17 Javascript
JS的参数传递示例介绍
2014/02/08 Javascript
理解jQuery stop()方法
2014/11/21 Javascript
javascript实现密码强度显示
2015/03/18 Javascript
JavaScript基于setTimeout实现计数的方法
2015/05/08 Javascript
Javascript编写俄罗斯方块思路及实例
2015/07/07 Javascript
JS模拟的Map类实现方法
2016/06/17 Javascript
详解angular中如何监控dom渲染完毕
2017/01/03 Javascript
NodeJs实现定时任务的示例代码
2017/12/05 NodeJs
angularjs实现分页和搜索功能
2018/01/03 Javascript
layui问题之模拟select点击事件的实例讲解
2018/08/15 Javascript
使用element-ui的el-menu导航选中后刷新页面保持当前选中状态
2019/07/19 Javascript
vue 查看dist文件里的结构(多种方式)
2020/01/17 Javascript
在vue-cli3.0 中使用预处理器 (Sass/Less/Stylus) 配置全局变量操作
2020/08/10 Javascript
[51:29]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
在Python中使用第三方模块的教程
2015/04/27 Python
VSCode下配置python调试运行环境的方法
2018/04/06 Python
Python面向对象之类的内置attr属性示例
2018/12/14 Python
Centos7 下安装最新的python3.8
2019/10/28 Python
Python 面向对象之类class和对象基本用法示例
2020/02/02 Python
python实现磁盘日志清理的示例
2020/11/05 Python
Python自动化测试基础必备知识点总结
2021/02/07 Python
html5默认气泡修改的代码详解
2020/03/13 HTML / CSS
澳大利亚设计师服装在线:MISHA
2019/10/07 全球购物
得到Class的三个过程是什么
2012/08/10 面试题
户籍证明的格式
2014/01/13 职场文书
设计师求职信模板
2014/05/06 职场文书
工作岗位说明书模板
2014/05/09 职场文书
博士生专家推荐信
2014/09/26 职场文书
团组织推优材料
2014/12/29 职场文书
CentOS下安装Jenkins的完整步骤
2022/04/07 Servers