当用户注册时,我想知道如何创建一个动态目录(将显示他们的个人资料),例如Facebook / MySpace。
我希望目录是他们用户名的目录。用户名存储在数据库中。
正在使用的技术
数据库:MySQL
前端:PHP
我已经看过使用PHP MKDIR命令创建一个单独的目录,但我真的不希望FTP被文件夹覆盖
答案 0 :(得分:0)
如果您的代码在Apache下运行,您应该查看mod_rewrite并将“文件夹”设置为虚拟。
答案 1 :(得分:0)
Facebook不会为用户提供自己的目录。为用户提供他们自己的目录需要大量的服务器资源,后端需要付出很多努力,而在你拥有数百万用户之后,文件分配表中的混乱将导致页面加载非常可怕。然后考虑所有浪费的磁盘空间,因为硬盘驱动器在分页系统上运行,并且你需要为每个目录提供一个index.html文件...
Facebook所做的是写一行到.htaccess文件。当用户说他们想要www.facebook.com/username
时,Facebook会添加以下内容:
RewriteRule username profile.php?id=<user id>
甚至有更好的方法可以做到这一点。您可以将所有内容重定向到parse_request.php
,这将确定您是在请求用户的特定页面,还是请求不应更改的静态页面(如welcome.php
)。