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 面向对象程序设计
Feb 13 PHP
从手册去理解分析PHP session机制
Jul 17 PHP
PHP mcrypt可逆加密算法分析
Jul 19 PHP
PHP大小写问题:函数名和类名不区分,变量名区分
Jun 17 PHP
php 伪造ip以及url来路信息方法汇总
Nov 25 PHP
php过滤所有的空白字符(空格、全角空格、换行等)
Oct 27 PHP
php+html5实现无刷新图片上传教程
Jan 22 PHP
thinkPHP分组后模板无法加载问题解决方法
Jul 12 PHP
PHP制作登录异常ip检测功能的实例代码
Nov 16 PHP
PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法
Aug 11 PHP
php+croppic.js实现剪切上传图片功能
Aug 14 PHP
PHP上传图片到数据库并显示的实例代码
Dec 20 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程序设计中的MVC编程思想
2014/07/28 PHP
推荐25款php中非常有用的类库
2014/09/29 PHP
PHP实现的贪婪算法实例
2017/10/17 PHP
PHP中cookie知识点学习
2018/05/06 PHP
PHP设计模式(九)外观模式Facade实例详解【结构型】
2020/05/02 PHP
javascript中的prototype属性实例分析说明
2010/08/09 Javascript
JQuery.closest(),parent(),parents()寻找父结点
2012/02/17 Javascript
JavaScript 更严格的相等 [译]
2012/09/20 Javascript
基于jquery的禁用右键、文本选择功能、复制按键的实现代码
2013/08/27 Javascript
jsp网页搜索结果中实现选中一行使其高亮
2014/02/17 Javascript
浅谈vue-lazyload实现的详细过程
2017/08/22 Javascript
vue cli构建的项目中请求代理与项目打包问题
2018/02/26 Javascript
vue双向绑定及观察者模式详解
2019/03/19 Javascript
nodejs实现聊天机器人功能
2019/09/19 NodeJs
vue+elementUI动态增加表单项并添加验证的代码详解
2020/12/17 Vue.js
[58:59]完美世界DOTA2联赛PWL S3 access vs CPG 第一场 12.13
2020/12/16 DOTA
python实现百度关键词排名查询
2014/03/30 Python
Python3 正在毁灭 Python的原因分析
2014/11/28 Python
python函数的5种参数详解
2017/02/24 Python
Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算
2018/12/28 Python
Python切片操作去除字符串首尾的空格
2019/04/22 Python
图文详解python安装Scrapy框架步骤
2019/05/20 Python
python实现简单成绩录入系统
2019/09/19 Python
Python imageio读取视频并进行编解码详解
2019/12/10 Python
详解字符串在Python内部是如何省内存的
2020/02/03 Python
python实现从ftp上下载文件的实例方法
2020/07/19 Python
IRO美国官网:法国服装品牌
2018/03/06 全球购物
大专毕业自我鉴定
2014/02/04 职场文书
2014年法制宣传日活动方案
2014/11/02 职场文书
2014年学校食堂工作总结
2014/11/25 职场文书
党员志愿者服务倡议书
2015/04/29 职场文书
简单的辞职信模板
2015/05/12 职场文书
党员电教片《信仰》心得体会
2016/01/15 职场文书
SpringCloud之@FeignClient()注解的使用方式
2021/09/25 Java/Android
MySQL8.0 Undo Tablespace管理详解
2022/06/16 MySQL
win10拖拽文件时崩溃怎么解决?win10文件不能拖拽问题解决方法
2022/08/14 数码科技