问题:
- 在使用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);