Динамические пользовательские каталоги
Когда пользователь регистрируется, мне интересно, как создать для него динамический каталог (который покажет его профиль), такой как Facebook / MySpace.
Я хочу, чтобы каталог был их именем пользователя. Имя пользователя хранится в базе данных.
Используемые технологии
База данных: MySQL
Front End: PHP
Я рассмотрел использование команды PHP MKDIR для создания отдельного каталога, но я не хочу, чтобы FTP переполнялся папками
2 ответа
Facebook не дает пользователям свой собственный каталог. Предоставление пользователю своего собственного каталога требует много ресурсов сервера, много усилий на бэкэнде, и после того, как у вас будет несколько миллионов пользователей, беспорядок в таблице размещения файлов приведет к ужасной загрузке страницы. Затем примите во внимание все потраченное впустую дисковое пространство, так как жесткие диски работают в системе подкачки, И вам потребуется файл index.html для каждого каталога...
Вместо этого Facebook пишет строку в файл.htaccess. Когда пользователь говорит, что хочет www.facebook.com/username
Facebook добавляет следующее:
RewriteRule username profile.php?id=<user id>
Есть даже лучшие способы сделать это. Вы можете иметь ВСЁ перенаправление на parse_request.php
, который будет определять, запрашивали ли вы конкретную страницу пользователя или статическую страницу (например, welcome.php
) который не должен меняться.
Если ваш код работает под Apache, вы должны заглянуть в mod_rewrite и сделать "папки" виртуальными.