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 相关文章推荐
php5中date()得出的时间为什么不是当前时间的解决方法
Jun 30 PHP
php foreach、while性能比较
Oct 15 PHP
PHP SEO优化之URL优化方法
Apr 21 PHP
php实现数组筛选奇数和偶数示例
Apr 11 PHP
php+js实现异步图片上传实例分享
Jun 02 PHP
php广告加载类用法实例
Sep 23 PHP
一个经典实用的PHP图像处理类分享
Nov 18 PHP
PHP实现检测客户端是否使用代理服务器及其匿名级别
Jan 07 PHP
详解PHP用substr函数截取字符串中的某部分
Dec 03 PHP
PHP 中使用explode()函数切割字符串为数组的示例
May 06 PHP
php生成毫秒时间戳的实例讲解
Sep 22 PHP
PHP addslashes()函数讲解
Feb 03 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
写一个用户在线显示的程序
2006/10/09 PHP
PHP中常用的输出函数总结
2014/09/22 PHP
php使用redis的有序集合zset实现延迟队列应用示例
2020/02/20 PHP
Jquery倒数计时按钮setTimeout的实例代码
2013/07/04 Javascript
删除节点的jquery代码
2014/01/13 Javascript
node.js中的fs.writeSync方法使用说明
2014/12/15 Javascript
18个非常棒的jQuery代码片段
2015/11/02 Javascript
bootstrap读书笔记之CSS组件(上)
2016/10/17 Javascript
Angular2入门--架构总览
2017/03/29 Javascript
微信小程序 本地图片按照屏幕尺寸处理
2017/08/04 Javascript
jquery ajax异步提交表单数据的方法
2017/10/27 jQuery
vue click.stop阻止点击事件继续传播的方法
2018/09/04 Javascript
三种Webpack打包方式(小结)
2018/09/19 Javascript
微信小程序实现基于三元运算验证手机号/姓名功能示例
2019/01/19 Javascript
七行JSON代码把你的网站变成移动应用过程详解
2019/07/09 Javascript
简单了解微信小程序 e.target与e.currentTarget的不同
2019/09/27 Javascript
Vue中this.$nextTick的作用及用法
2020/02/04 Javascript
JS闭包原理及其使用场景解析
2020/12/03 Javascript
python执行shell获取硬件参数写入mysql的方法
2014/12/29 Python
Python正则表达式如何进行字符串替换实例
2016/12/28 Python
Python3使用pandas模块读写excel操作示例
2018/07/03 Python
Python 中字符串拼接的多种方法
2018/07/30 Python
python正则表达式匹配[]中间为任意字符的实例
2018/12/25 Python
python web框架Flask实现图形验证码及验证码的动态刷新实例
2019/10/14 Python
6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)
2020/01/06 Python
python 决策树算法的实现
2020/10/09 Python
No module named ‘win32gui‘ 的解决方法(踩坑之旅)
2021/02/18 Python
HTML5本地存储之IndexedDB
2017/06/16 HTML / CSS
介绍一下linux的文件权限
2012/02/15 面试题
日语翻译个人求职的自我评价
2013/10/14 职场文书
计算机求职自荐信范文
2014/04/19 职场文书
关于安全演讲稿
2014/05/09 职场文书
2014年销售助理工作总结
2014/12/01 职场文书
办公室管理规章制度
2015/08/04 职场文书
Python实战之用tkinter库做一个鼠标模拟点击器
2021/04/27 Python
JavaScript offset实现鼠标坐标获取和窗口内模块拖动
2021/05/30 Javascript