为每个用户创建个人页面,PHP

时间:2010-09-15 20:08:07

标签: php account

我想要做的是为每个用户在我的页面上注册时创建一个网页。 示例: www.someweb.com/username ,这将是他们的网页。

我知道这可以通过mkdir()和其他相关功能轻松完成,但问题是我的根文件夹不是chmod 777而且由于安全原因我不想chmod 777这个根文件夹。

当用户在我的网页上注册时,做这件事的最佳方法是什么

5 个答案:

答案 0 :(得分:7)

您不为每个用户创建物理目录,而是使用URL重写。看看

  

http://www.yourhtmlsource.com/sitemanagement/urlrewriting.html

答案 1 :(得分:6)

您很可能不需要在真实中创建这些目录 把它变成虚拟的 使用查询字符串传递用户名,如下所示:

www.someweb.com/index.php?user=username

根据特定用户名对此页面进行个性化设置。 之后你可以做一些重写魔法并制作一个像www.someweb.com/username这样的页面地址,但所有页面都将保持虚拟

答案 2 :(得分:6)

使用mod_rewrite/username提出实际?user=username请求。然后,您可以获取相应用户的数据并将其显示在模板中。

答案 3 :(得分:0)

如果要更改安全设置,请参阅: https://www.w3schools.com/php/func_filesystem_mkdir.asp 它解释了如何使用mkdir函数更改新建目录的安全设置。

答案 4 :(得分:0)

如果您要在注册后为每个用户创建个人页面

->当新用户在您的网站上进行注册时,然后在用户文件夹的位置创建一个名为username的新目录,例如       / user /用户名/

通过使用创建文件功能在此目录下创建一个具有索引名称的文件      /用户/用户名/索引 如果您使用php,请使用读/写操作编写以下代码

file_location = "C:/cygwin/home/#{user}/.ssh/authorized_keys"
ruby_block "insert_ssh key to windows" do
                          block do
                            Chef::Log.info(" Windows box add Key for #{user}---------> #{ssh_key}")
                            file = Chef::Util::FileEdit.new(file_location)
                            file.insert_line_if_no_match(ssh_key, ssh_key)
                            file.write_file
                          end
                  not_if { File.open(file_location).each_line.any?{|line| line.include?(ssh_key)} }
              end

此用户配置文件将具有在变量$ p_username的帮助下从数据库检索用户信息的功能。这样,用户还可以访问其他用户的个人资料