2013-12-16 42 views
0

我試圖創建用戶配置文件,與Facebook類似,它創建子目錄(你可以用http://facebook.com/CUSTOMURL分享您的個人資料。的Apache/PHP的用戶文件夾

特別是,我試圖找出是否有管理的方式。模擬域名鏈接我目前正在運行的方法就是通過這樣的腳本:

function create_user_directory($userid,$dirname=null){ 
     if ($this->uzr_directory_exists($userid)) {           
      return FALSE;                 
     } else { 
      if (!isset($dirname)) { 
       $dirname = $userid; 
      } 
      $directory = ROOT_PATH . $dirname . "/"; 
      mkdir($directory); 
      $handle = fopen($directory . "index.php", "w") or die("can't open file"); 
      $template = "<?php\n\$userid=" . $userid . ";\ninclude(\"ROOT_PATH . "templates/userProfile.php\");"; 
      fwrite($handle, $template) or die("can't write file"); 
      fclose($handle); 
     } 

    } 

當有人更改目錄,我會用rename()改變目錄和更新服務器

我必須想象有更好的方法。任何見解?

+3

'mod_rewrite' http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html – Petah

+1

[你應該使用路由器](https://github.com/chriso/klein.php)。 – moonwave99

+0

FYI *子域* <> *子目錄* – Phil

回答

4

mod_rewrite是這樣的事情最好的選擇。

基本mod_rewrite規則,你可以把一個文件.htaccess對所有不存在的文件/目錄重定向到index.php

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule . index.php 
</IfModule> 

您可以將剛拉出來的URL的$_SERVER

相關問題