Thinkphp5之上传文件命名重复

来源:互联网 发布:读写数据什么意思 编辑:程序博客网 时间:2024/06/17 13:08

问题:

  1. 在使用thinkphp5的File类默认date的命名规则,上传多张图片导致命名重复覆盖上传文件的问题。下面是thinkphp5的原代码:
case 'date':      $savename = date('Ymd') . DS . md5(microtime(true));
  1. 错误结果
 /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);
原创粉丝点击