2013-02-27 53 views
0

我正在設計一個網站,用戶可以在其中發送其他用戶拍攝的照片。我已經設置了MySQL和PHP頁面來讓用戶註冊,登錄等,但是我的問題是,我需要做些什麼才能讓用戶上傳分配給其他用戶的圖像?我正在考慮一些有關所有圖像的ID,然後某些用戶可以訪問某些ID的圖像。任何信息表示讚賞。在MySQL和PHP中管理圖像

回答

1

這裏由信息去,你可能會需要以下設置:

表:

userrelationship(userid, friendid) 

images(id, imagepath, userid) 

sharedimages(id, originaluserid, friendid, imageid) 

這是真正的基礎,但它應該啓動你。

+0

這是行不通的?帳戶(身份證,電子郵件,用戶名,密碼)圖像(身份證,上傳 - 用戶名,說明,接收機用戶名,路徑) – 2013-02-27 19:13:58

+0

只要帳戶去,是的,如果這是所有的信息需要註冊用戶,但圖像我會爲用戶使用唯一的ID而不是他們的「用戶名」...稍後如果你想顯示圖像和用戶名的關係,你可以寫一個簡單的select語句,內部連接到accounts表來顯示它。 – Andres 2013-02-27 21:53:57

+0

我真的很感激這種豐富的信息。萬分感謝! – 2013-02-27 23:07:19

0

我會去這樣的事情

table - images 
image_id | image_source | image_from | image_to 
    1  source of img user id  user id 
0

你有幾種選擇,它取決於你如何實現它。

第一種選擇:讓他們上傳的照片,它分配/重命名一個唯一的哈希值或ID,把它與該用戶相關聯的表:

id | hash | user_id 

第二個選項:您可以隨時店在你的MySQL數據庫中的圖像作爲blob,但這可能是繁重的,因爲你可能需要更多的信息。

id | blob (base64 encoded data) | name | extension | user_id 

其餘的選項都介於兩者之間。基本上,圖像設置表只是,如果你想添加的權限,把它放在一個單獨的表,當用戶試圖訪問它,只是檢查圖像所有者的權限:

user_id | permissions 

如果圖片所有者只希望圖片自己查看,添加該許可類型,或者如果他們想要朋友,朋友或朋友或任何人,則可以創建這些單獨的權限標誌。

現在,如果您正在尋找每個圖像的權限,那麼您需要將權限字段附加到圖像表。再次,您可以對兩者進行組合,並且如果映像表中的權限字段爲空,則可以回退用戶的默認權限。

0

我的答案會與上述任何一個用戶不同。

table - image 
id (primary) | source | date_added | etc... 
int   varchar int(10) 

table - user 
id (primary) | date_added | name 
int   int(10)  varchar 

table - user_image 
user_id (primary) | image_id (primary) | date_added | permissions 
int     int     int(10)  int 

基本上,有一個用戶表和一個圖像表。然後,有一張表來定義用戶圖像對。這樣,你可以保持圖像和用戶分開,並創建它們之間的鏈接。在user_image表中創建新行以向其他用戶提供圖片訪問權限,並使用permissions列來精確控制這些用戶的權限與控制這些圖片的權限。

這是一個非常靈活的系統。希望有幫助嗎?