您的位置:首页 > 编程语言 > PHP开发

Thinkphp5之上传文件命名重复

2017-10-09 17:36 351 查看

问题:

在使用thinkphp5的File类默认date的命名规则,上传多张图片导致命名重复覆盖上传文件的问题。下面是thinkphp5的原代码:

case 'date':
$savename = date('Ymd') . DS . md5(microtime(true));


错误结果

/tmp/phpDZ9Dol
20171009/064964d9595bb3d6895f7388a8ca8a52.jpg
20171009/064964d9595bb3d6895f7388a8ca8a52.jpg
20171009/064964d9595bb3d6895f7388a8ca8a52.jpg
/tmp/php3qSYP4
20171009/d05eb11e955ee47105e3ff28d83a1582.jpg
20171009/d05eb11e955ee47105e3ff28d83a1582.jpg
20171009/d05eb11e955ee47105e3ff28d83a1582.jpg
/tmp/php3OYlhO
20171009/05de1dba77a50c1c97573bc541a12361.jpg
20171009/05de1dba77a50c1c97573bc541a12361.jpg
20171009/05de1dba77a50c1c97573bc541a12361.jpg
/tmp/phpRMMLIx
20171009/2b2020f86c54ea1e3a51ba9d286dbef0.jpg
20171009/2b2020f86c54ea1e3a51ba9d286dbef0.jpg
20171009/2b2020f86c54ea1e3a51ba9d286dbef0.jpg
/tmp/phpXfIdah
20171009/d03379ecf0292c8d4d14e4ce76a81ae1.jpg  问题
20171009/d03379ecf0292c8d4d14e4ce76a81ae1.jpg  问题
20171009/d03379ecf0292c8d4d14e4ce76a81ae1.jpg  问题
/tmp/phpv7gIB0
20171009/d03379ecf0292c8d4d14e4ce76a81ae1.jpg  问题
20171009/d03379ecf0292c8d4d14e4ce76a81ae1.jpg  问题
20171009/d03379ecf0292c8d4d14e4ce76a81ae1.jpg  问题
/tmp/phpFwXd3J
20171009/1ba7b97e9281c15fcb2256eb3d4d0647.jpg
20171009/1ba7b97e9281c15fcb2256eb3d4d0647.jpg
20171009/1ba7b97e9281c15fcb2256eb3d4d0647.jpg
/tmp/phpT1KKut
20171009/758e1ef906542e81eb0c8494f776197b.jpg
20171009/758e1ef906542e81eb0c8494f776197b.jpg
20171009/758e1ef906542e81eb0c8494f776197b.jpg


解决:

case 'date':
//保持文件名唯一性。
$savename = date('Ymd') . DS . md5(microtime(true).$this->filename);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: