SilverIce
Messages postés4Date d'inscriptionvendredi 29 novembre 2002StatutMembreDernière intervention26 avril 2005
-
26 avril 2005 à 04:09
billou_13
Messages postés860Date d'inscriptionjeudi 4 mars 2004StatutMembreDernière intervention19 août 2014
-
26 avril 2005 à 19:05
Bonjour, Je suis en train de développé un site web en asp et j'ai un petit problème. Tout d'abords je fais la gestion des utilisateur par une Base de donné(présentement Access pour les tests et je vais la transféré en Mysql plus tard). Pour mon problème, je veux que les utilisateurs puisse uploader des fichiers(photos,vidéos,etc) et que seulement eux puisse pouvoir voir leurs fichiers quand ils sont authentifier sur le site en question. fauqe en résumé j'aimerais savoir comment faire pour ces point suivant:
-Associer les fichiers à chaque utilisateur qui se connecte
-Donner la gestion des fichier par cet utilisateur
-ne pas faire voir les fichiers, ni même les dossiers aux autres utilisateurs
Si vous avez des pistes ou des liens utiles pour moi, Merci beaucoup à l'avance
S'il n'y aurais pas de bug il n'y aurait pas de programmeur!!
billou_13
Messages postés860Date d'inscriptionjeudi 4 mars 2004StatutMembreDernière intervention19 août 201429 26 avril 2005 à 09:42
Je pense que une solution serait d'attribuée un repertoire pour chaque
utilisateur qui s'inscrit. De ce fait, tu sera sûr que tous les
fichiers contenus dans ce dossier seront à lui. Il te suffit pour cela
de faire appel à la fonction permettant la création d'un nouveau
dossier dans ton code (supposant que tu fais ton code en VB , je ne
connais pas la fonction mais elle doit surement existée. Moi je suis en
C# et elle s'appelle CreateDirectory("nom du dossier") dans la biblio
System.IO.Directory).
En ayant une BDD de la forme :
Tables :
Client
Repertoire
PK_Client <------
PK_Repertoire
Nom
\
Nom
---------------- FK_Client
Mon idée serait :
- A l'inscritpion, insérer le client dans la base
- Calculer un nom de repertoire au hasard (par exemple en fonction de
DateTime.Now et en calculant 5 caractère numériques et alphanumérique
par Exemple 5B12E).
- Vérifier que ce nom n'existe pas déjà dans ta base et attribué pour un autre utilisateur
- S'il n'existe pas, tu le créé et tu insére dans la base le nouveau repertoire (que le nom bien sur)
- Ainsi, à chaque connection, tu peux lancer une fonction inspectant
tout le repertoire et montrer à chaque utilisateur leurs fichiers. (en
gardant comme variable de session le PK_Client)
Ma solution n'est surement pas la meilleure , mais elle doit surement être bonne
Voila, si tu avais utiliser que les
photos, je t'aurais proposer de placer les images dans la base de
données (mais , c'est ce que j'ai déjà fait , c'est bien mais les
requêtes sont un peu lentes que tu selectionne beaucoup de photos. Et
je crois que la plupart des sites ne font que placer les noms de photos
dans la base et vont les chercher dans un dossier)
Alors bon courage à toi, et si tu as des questions, n'hésites pas
cs_Yopyop
Messages postés586Date d'inscriptionlundi 7 janvier 2002StatutMembreDernière intervention10 février 20101 26 avril 2005 à 10:08
salut,
pour être sûr que le répertoire de chaque client est unique, il faut utiliser l'id du client comme nom de répertoire.
Ensuite, il vaut mieux ne pas mettre les images dans la base de données (pour des raison de performance, mais aussi par ce que tu vas migrer ton application de access à mysql... la migration sera plus simple).
Il faut égelement donner les droits de lecture/écriture à ton application sur ce répertoire (et le sous répertoire) qui contient tes fichiers/images.
C'est de l'asp standard ? Si oui, regarde du côté FileSystemObject pour voir comment créer les répertoire.
billou_13
Messages postés860Date d'inscriptionjeudi 4 mars 2004StatutMembreDernière intervention19 août 201429 26 avril 2005 à 19:05
De rien, y'a pas de quoi ! On est la pour s'entraider
En espérant que cela t'as permis d'avoir une voie,
Bonne soirée,
Billou_13
Bask En Force
--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------