2015-02-11 58 views
1

我有一個表,用於存儲用戶數據 MySQL和沿邊等信息它存儲圖片(LOAD_FILE())BLOB。我從用戶圖像中檢查其格式,然後使用move_uploaded_file()將其重命名爲session_id(),並在表格中插入信息。使用PHP session_id()作爲每個活動會話的圖像的唯一名稱?

我的問題: 是SESSION_ID()唯一全部是活躍在整個訪問這個網站讓我的形象不被覆蓋不同設備的運動會話。

如果沒有,是否有更好的方法來實現這一目標?

我在問這個問題,因爲這個網站可能會在未來同時被許多客戶使用,最好是防止發生錯誤。

PHP版本:5.5.14

<?php 
 

 
//rest of code 
 
if($ext){ 
 
       $_SESSION["image"] = session_id().".".$ext; 
 
       move_uploaded_file($_FILES['Pro_imgInp']['tmp_name'],$_SESSION["image"]); 
 
       echo "Uploaded image: ". $_SESSION["image"] . "<br>"; 
 
       $_SESSION['ext'] = $ext; 
 
       
 
      } 
 
//rest of code 
 
?>

+0

您可以使用'uniqid()'或者甚至是'time()'。 – Raptor 2015-02-11 10:11:18

+0

可能重複的[如何獨特的PHP會話ID](http://stackoverflow.com/questions/138670/how-unique-is-the-php-session-id) – Fenistil 2015-02-11 10:13:37

+0

可能的重複http://stackoverflow.com/q/138670/2144796 – Edward 2015-02-11 10:15:08

回答

2

是無效的存儲在數據庫中的圖像。將它們存儲在文件系統中並將路徑寫入數據庫。

對於您的問題:即使碰撞概率非常低,會話ID在任何時刻都不能保證在服務器上是唯一的。

肯定有可能與之前存在的ID進行會話。因此,由會話ID命名的圖像不應該長於會話本身。

相關問題