亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

上傳文件時判斷是否存在相同名稱文件代碼問題

上傳文件時判斷是否存在相同名稱文件代碼問題

慕仔8661472 2016-07-31 22:30:48
if (move_uploaded_file($fileInfo['tmp_name'],$destination)) {? //判斷文件名是否重名? if (file_exists($fileInfo['name'])) {??? echo "<script language=\"JavaScript\">\r\n";??? echo " alert(\"文件已存在請重命名后創建\");\r\n";??? echo " history.back();\r\n";??? echo "</script>";??? exit;? }else{? echo "<script language=\"JavaScript\">\r\n";? echo " alert(\"文件上傳成功\");\r\n";? echo " history.back();\r\n";? echo "</script>";? exit;}}點擊上傳還是會有提示框顯示:文件已存在請重命名后創建?
查看完整描述

2 回答

?
龍一少爺

TA貢獻2條經驗 獲得超4個贊

感覺一樓回答是有道理的,fileexist判斷是需要去文件檢索的,如果文件數量足夠多,這樣的算法就很不合理??梢圆捎脮r間戳+文件名合并的方法來重命名一下,然后保存,基本不會重名。

查看完整回答
反對 回復 2016-11-21
?
回夢

TA貢獻18條經驗 獲得超5個贊

我覺得這種思路不好,為什么不直接想辦法建立不同名的文件呢。

時間戳加上文件某些命名規則再加上MD5轉化,基本就不會重名了。

相信百度也能搜出一堆方式。

如果檢查重名,當你文件太多的時候怎么辦?100W文件時你要檢索多久,1E文件你又要檢索多久?

查看完整回答
反對 回復 2016-08-02
  • 慕仔8661472
    慕仔8661472
    那還要考慮用戶下載文件時,文件名總不能是一堆字母吧。
  • 慕仔8661472
    慕仔8661472
    我想了一種辦法,不知道管用不 $uniName=$fileInfo['name']; $destination=$path.'/'.$uniName; $filenames1=scandir($path); if ($fileInfo['name']=foreach ($filenames1) { echo "<script language=\"JavaScript\">\r\n"; echo " alert(\"文件名已存在請重命名后重新上傳\");\r\n"; echo " history.back();\r\n"; echo "</script>"; exit; }
  • 2 回答
  • 0 關注
  • 2394 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號