2010-10-31 80 views
0

當用戶註冊我想知道如何創建一個動態目錄(這將顯示他們的個人資料),如Facebook/MySpace。動態用戶目錄

我希望該目錄是他們的用戶名。用戶名存儲在數據庫中。

技術被用來

數據庫:MySQL的

前端:PHP

我看了使用PHP mkdir命令創建一個單獨的目錄,但我不真的想要FTP與文件夾溢出

+0

您是否在討論像「http://yourwebsite.com/user/」這樣的鏈接?這通常是URL重寫,您實際調用的頁面可能是「http://yourwebsite.com/user.php?username=user」。 – 2010-10-31 15:40:03

+0

是的,有點像twitter也是我想的。例如http://www.twitter.com/user – itsphil 2010-10-31 15:46:25

回答

0

Facebook不會給用戶自己的目錄。爲用戶提供他們自己的目錄需要大量的服務器資源,並在後端花費很多精力,並且在擁有數百萬用戶之後,文件分配表中的混亂將導致頁面加載變得非常可怕。然後考慮到所有浪費的磁盤空間,因爲硬盤驅動器在分頁系統上運行,並且您需要每個目錄的index.html文件...

Facebook做了什麼而不是寫一行到.htaccess文件。當用戶說,他們希望www.facebook.com/username,Facebook的增加了以下內容:

RewriteRule username profile.php?id=<user id> 

有更好的方法來做到這一點,甚至。您可以將所有內容重定向到parse_request.php,這將決定您是在請求用戶的特定頁面,還是在請求不應更改的靜態頁面(如welcome.php)。

+0

這看起來正是我需要的。我不明白這個過程,雖然是?id = 位。我不確定如何編碼或如何工作。 – itsphil 2010-10-31 16:10:28

+0

只要你在URL後面加一個問號,它就會以「GET」請求發送數據。在PHP中,你可以從'$ _GET []'變量中訪問這些變量。例如,你可以說'if($ _ GET ['id'] == 1){echo「Welcome back,admin!」; }(假設「admin」是用戶1)。這個id通常包含在數據庫查詢中以查找關於所需用戶的信息。類似於'SELECT * FROM users WHERE id == $ _GET ['id']' – stevendesu 2010-10-31 23:21:57