thinkphp5存在多图上传却返回同一张图片的bug

2017-06-02 09:50 栏目:技术开发 查看(6169)

湖南幸运赛车爱彩人彩票网 www.schu9.cn thinkPHP是为了简化企业级应用开发和敏捷WEB应用开发的php国产开发框架,在国内使用的用户还算比较多,特别适合中小型项目的敏捷开发。而且这个框架除了核心功能外,还扩展了很多日??赡苄枰褂玫降膒hp类库,比如验证码、图片处理等等。

在最近使用tp5开发一个项目过程中就遇到了一个tp5的坑,那就是多图上传(其实就是多文件上传),利用官方提供的file类,发现很多时候出现上传多张图片返回的结果却是一样的。比如说1、2、3三种图片,我们应该要得到的是a、b、c三个不同的图片路径,但是事实却是经常出现返回a、a、a的结果,也就是返回的结果重复了。

结果我们通过分析tp自带的file类发现原来是这个类的buildSaveName(获取保存文件名)方法的问题,在这个方法中有date(‘Ymd’) . DS . md5(microtime(true),也就是同一批文件命名是以微秒来标识的,虽然微秒已经算很小的单位了,但事实证明重复的概率不低。

这个方法位于thinkphp\library\think\File.php文件中,大概在348行开始。

因此要解决这个问题,得把这个粒度再细化,比如最简单的就是在后面再加一个随机数,这样就可以避免多个文件重名了。

与我们的项目经理联系
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流

转载请注明出处:thinkphp5存在多图上传却返回同一张图片的bug - 微构网络
分享:
  • 我国农村金融取得长足发展 2019-05-27
  • 世界自然遗产旅行地中国国家地理网 2019-05-27
  • 中央直属机关工委主要职责 2019-05-22
  • 打造“互联网+”,共享经济改变百姓生活 2019-04-22
  • 破财免灾!C罗愿向西班牙税务部门缴纳1880万欧元 2019-04-19
  • 中国品牌SUV新标杆 人民网试驾WEY VV7VV5 2019-04-19
  • 杨爱国:借助小博会促进尚志社会经济加快发展 2019-04-15
  • 泪目!川农院士逝世5年,夫人每日都去看他的雕像…思念如马,不停蹄! 2019-04-15
  • 海信世界杯首秀出奇招 竟打出俄文广告 2019-03-25
  • 财政部:对原产于美国的500亿美元进口商品加征关税 2019-03-11
  • 我和《人民日报》(我与人民日报·纪念人民日报创刊70周年) 2019-03-11
  • 杭州再增100个海绵城市项目 2018-11-08
  • 新华网申领新闻记者证资格审核公示 2018-11-08
  • 699| 267| 843| 267| 696| 908| 227| 767| 256| 164|