質問
私がやりたいのは、すべてのユーザーが私のページにサインアップするときにWebページを作成することです。
例えば: www.someweb.com/username, 、そしてこれが彼らのウェブページになります。
これは簡単にできることを知っています mkdir()
その他の関連する機能ですが、問題は私のルートフォルダーではないことです chmod 777
そして、私はしたくありません chmod 777
セキュリティ上の理由により、このルートフォルダー。
ユーザーが私のWebページに登録するときにこれを行う最良の方法は何ですか。
解決
ユーザーごとに物理ディレクトリを作成するのではなく、URLの書き換えを使用します。このソースを見てください:
他のヒント
ほとんどの場合、これらのディレクトリを実際に作成する必要はありません。
仮想にしてください。
このようなクエリ文字列を使用してユーザー名を渡す:
www.someweb.com/index.php?user=username
特定のユーザー名に従ってこのページをパーソナライズします。その後、魔法を書き直し、このようなページアドレスを作成することができます www.someweb.com/username
しかし、すべてのページは仮想のままです
使用する mod_rewrite
にリクエストする /username
実際に ?user=username
. 。その後、適切なユーザーのデータを取得し、テンプレートに表示できます。
サインアップ後に各ユーザーの個人ページを作成する場合
- >新しいユーザーがurサイトでサインアップを行うときは、ユーザーフォルダーの場所にユーザー名の名前を持つ新しいディレクトリを作成します/user/username/
createファイル関数/ユーザー/username/indexを使用して、インデックスの名前を持つこのディレクトリの下にファイルを作成します。
<?php
$myfile = fopen("\user\$_SESSION["username"].php", "w") or die("Unable to create file!");
$str = "<?php
\$p_username = ".$_SESSION['username'].";
include('../user-profile.php');
?>";
fwrite($myfile, $str);
fclose($myfile);
?>
このユーザープロファイルには、変数$ p_usernameの助けを借りてデータベースからユーザー情報を取得する機能があります。このようにして、ユーザーは他のユーザーのプロフィールにもアクセスできます