ユーザーが登録すると、Facebook / MySpaceなどの動的ディレクトリ(プロファイルが表示されます)を作成する方法がわかりません。
ディレクトリをユーザー名のディレクトリにします。ユーザー名はデータベースに保存されます。
使用されているテクノロジー
データベース:MySQL
フロントエンド:PHP
PHP MKDIRコマンドを使用して個々のディレクトリを作成することを検討しましたが、FTPがフォルダでオーバーランすることは本当に望ましくありません。
ユーザーが登録すると、Facebook / MySpaceなどの動的ディレクトリ(プロファイルが表示されます)を作成する方法がわかりません。
ディレクトリをユーザー名のディレクトリにします。ユーザー名はデータベースに保存されます。
使用されているテクノロジー
データベース:MySQL
フロントエンド:PHP
PHP MKDIRコマンドを使用して個々のディレクトリを作成することを検討しましたが、FTPがフォルダでオーバーランすることは本当に望ましくありません。
コードがApacheで実行されている場合は、mod_rewriteを調べて、「フォルダー」を仮想化する必要があります。
Facebookはユーザーに独自のディレクトリを提供しません。ユーザーに独自のディレクトリを与えると、多くのサーバーリソース、バックエンドでの多大な労力が必要になります。数百万人のユーザーがいると、ファイルアロケーションテーブルが乱雑になり、ページの読み込みがひどくなります。次に、ハードドライブはページングシステムで動作するため、無駄なディスク容量をすべて考慮に入れてください。また、ディレクトリごとにindex.htmlファイルが必要になります...
Facebookが代わりに行うのは、.htaccessファイルに行を書き込むことです。ユーザーが欲しいと言うとwww.facebook.com/username
、Facebookは次のように追加します。
RewriteRule username profile.php?id=<user id>
これを行うためのより良い方法もあります。すべてをにリダイレクトすることができますparse_request.php
。これにより、ユーザーの特定のページをリクエストしているかどうか、またはwelcome.php
変更してはならない静的ページ(など)をリクエストしているかどうかが決まります。