0
A
回答
0
在我看来,你有两种方式。 第一个是与前缀保存图像这样
scotttiger-img12321323.jpg
其中scotttiger是用户名和是用户输入。 另一种方法是使用不同的文件夹为每个用户
scotttiger/1231321.jpg
,但如果你没有用户登录,并且不知道用户名,做ISFILE(http://it1.php.net/is_file)功能,并设定增量简单的检查名称。例如:
$wrote = false;
$prog = 0;
$filename="img-{$user_input}-{$prog}.jpg";
while(isfile($filename)) {
$prog++;
$filename="img-{$user_input}-{$prog}.jpg";
}
write_file($filename);
所以你第一次img-input-1.jpg第二次img-input-2.jpg等等。 使用此解决方案您没有重复或冲突。
您可以使用此解决方案提高性能:
$wrote = false;
$prog = md5(time());
$filename="img-{$user_input}-{$prog}.jpg";
while(isfile($filename)) {
$prog = md5(time());
$filename="img-{$user_input}-{$prog}.jpg";
}
write_file($filename);
0
您可以借助例如生成随机名称。日期和php哈希函数: http://www.php.net/manual/en/function.hash.php
因此名称将是唯一的。
或者,取决于组件中使用的功能,您可以以某种方式将用户名添加到映像名称。这取决于该组件的功能,并在我的因素(是否会有每个用户只有一个图像,或每其他一些功能,等等)
月
相关问题
- 1. 如何重命名共享库以避免同名冲突?
- 2. 避免命名空间冲突
- 3. Tcl命名空间重命名以避免冲突
- 4. 避免CSS类名冲突
- 5. 如何避免列名冲突?
- 6. 你如何避免类名冲突?
- 7. 避免文件上传命名冲突的策略
- 8. 如何避免在C#中命名空间和源文件名冲突?
- 9. 如何避免JQuery冲突?
- 10. 如何避免handlebars.js冲突
- 11. 如何避免javascript命名空间冲突?
- 12. 避免冲突,如果复制文件
- 13. 如何在redis上命名空间键以避免名称冲突?
- 14. NSString独特的文件路径,以避免名称冲突
- 15. Proguard:避免命名与预混淆库JAR的冲突
- 16. 如何避免与VSConstants.S_OK字段的命名冲突?
- 17. 如何避免在Python模块系统中命名冲突?
- 18. 如何避免在命名模型属性时发生冲突?
- 19. 如何避免ES6 Javascript类继承命名冲突
- 20. 命名Rails模型以避免冲突有什么好方法?
- 21. 自定义构建脚本以避免库名称冲突?
- 22. 避免jQuery冲突
- 23. 如何避免joomla中两个模块之间的jquery冲突?
- 24. 架构名称与表名 - 如何避免冲突?
- 25. 如何避免合并冲突拉?
- 26. Node.js,如何避免事件名称空间冲突?
- 27. 如何在两个头文件中避免冲突C++
- 28. 名称空间避免冲突 - 例子?
- 29. 避免QML中的名称冲突
- 30. sqlite3:避免“数据库锁定”冲突
这种方法可能是缓慢的,如果你有很多文件迭代可以霸占你的脚本。最好在图像上附加一个随机标识符,并测试该文件是否存在,用几次迭代就可以获得文件名。 –
是的,它可以通过这个任务得到改进:'$ prog = md5(time());' – gafreax
这种方法的问题在于你遇到了一堆文件。我可以在Joomla中删除某种__destruct中的文件吗? – Michael