2011-07-21 71 views
2

我正在構建社交網站的圖片上傳組件。我上傳多個文件使用imgfile[]作爲<input>name,這部分工作正常。

$upload_form.= "<ul class='imgfile_ul' id='$imgfile_ul_id' style='padding:0px'>"; 
$upload_form.=  "<li class='' id='$imgfile_li_id' style='border:0px'><label class='msgs_in_black'>Filename:</label><input type='file' name='imgfile[]' class='imgfile_cls' id='$imgfile_id'/></li>"; 
$upload_form.= "</ul>"; 

我的問題是,當我顯示上傳的文件會發生什麼。

for($i=0;$i<$files_cnt;$i++){ 
     $temp_name = $_FILES['imgfile']['tmp_name'][$i]; 
     $file_name = $_FILES['imgfile']['name'][$i]; 

如果兩個用戶從兩個不同的地方的確切同時上傳文件,有沒有機會,它會使用相同的文件名,我會接受,而不是一個正確的其他用戶的文件嗎?

回答

4

PHP爲每個上傳的文件創建一個唯一的臨時文件 - 兩個不同的上傳文件接收相同的隨機生成名稱的機率基本上不存在。

+0

所以沒有什麼錯在我的代碼關於這件事情的心不是它馬克? – reetu

0

$_FILES變量是本地到當前正在執行的腳本(通過HTTP POST請求啓動),所以這是不可能的,用戶將得到另一個用戶上傳的文件

相關問題