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