2010-10-31 23 views
0

Lorsqu'un utilisateur s'inscrit, je me demande comment créer un répertoire dynamique (qui montrera qu'il s'agit d'un profil), tel que Facebook/MySpace.Annuaire des utilisateurs dynamiques

Je veux que le répertoire soit celui de leur nom d'utilisateur. Le nom d'utilisateur est stocké dans la base de données.

Technologies utilisées

Base de données: MySQL

Front End: PHP

J'ai regardé en utilisant la commande PHP MKDIR pour créer un répertoire individuel, mais je ne voulez vraiment que le FTP soit surchargé avec des dossiers

+0

Parlez-nous d'un lien comme "http://yourwebsite.com/user/"? C'est généralement la réécriture d'URL, la page que vous appelez peut être "http://yourwebsite.com/user.php?username=user". –

+0

Ouais un peu comme Twitter le fait aussi je suppose. par exemple. http://www.twitter.com/user – itsphil

Répondre

0

Facebook ne donne pas aux utilisateurs leur propre répertoire. Donner à un utilisateur son propre répertoire prend beaucoup de ressources serveur, beaucoup d'efforts sur le back-end, et après avoir plusieurs millions d'utilisateurs, le fouillis dans la table d'allocation de fichiers provoquerait des chargements de page horribles. Ensuite, prenez en compte tout l'espace disque gaspillé puisque les disques durs fonctionnent sur un système de pagination, ET vous auriez besoin d'un fichier index.html pour chaque répertoire ...

Ce que Facebook fait à la place est d'écrire une ligne dans un fichier .htaccess fichier. Lorsqu'un utilisateur dit qu'ils veulent www.facebook.com/username, facebook ajoute ce qui suit:

RewriteRule username profile.php?id=<user id> 

Il existe de meilleures façons de le faire, même. Vous pourriez avoir TOUT rediriger vers parse_request.php, qui déterminera si vous demandiez la page spécifique d'un utilisateur, ou si vous demandiez une page statique (comme welcome.php) qui ne devrait pas changer.

+0

Cela ressemble exactement à ce dont j'ai besoin. Quelque chose que je ne comprends pas à propos de ce processus est le bit? Id = . Je ne sais pas du tout comment coder ou comment ça marche. – itsphil

+0

Chaque fois que vous placez un point d'interrogation après une URL, il envoie les données sous forme de requête "GET". En PHP, vous pouvez accéder à ces variables à partir de la variable '$ _GET []'. Ainsi, par exemple, vous pourriez dire quelque chose comme 'if ($ _ GET ['id'] == 1) {echo" Bienvenue, admin! "; } '(en supposant que" admin "est l'utilisateur 1). Cet identifiant est généralement inclus dans une requête de base de données pour trouver des informations sur l'utilisateur désiré. Quelque chose comme 'SELECT * FROM utilisateurs WHERE id == $ _GET ['id']' – stevendesu