需要使用多文件上传的功能,于是参考thinkphp5给的办法进行编码,最后生成的文件名都是相同的。通过排查,发现是官方的方法buildSaveName有问题。以下是自己改造后的代码,仅供参考!
1、下图是同时上传三个文件,生成了一样的文件名。
2、下图是我调用的官方方法的示例。
3、下图是官方生成文件名的方法。
4、下图是我改造后的代码。
$savename=date('Ymd').DS.md5(uniqid(md5(microtime(true)),true));
5、使用改造后的方法进行文件上传,没有出现文件名重复的问题。
如果帮到了您,请点击关注哦!后续会不定期更新的!
閱讀更多 PHP實戰技術 的文章