2010-10-31 79 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