IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Système] gestion des fichiers et base de données


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 20
    Points : 17
    Points
    17
    Par défaut [Système] gestion des fichiers et base de données
    Bonjour,
    Je desire faire un formulaire permettant de poster un fichier (donc je vais faire un formulaire type file ) contenant un choix pour le classer par type de cours (formulaire avec un choix limité style A,B,C) ainsi qu'un formulaire pour son nom. Mon formulaire serait de la forme

    NOM du fichier [ ]
    catégorie fich [ ] (choix A B ou C)
    chargement [ ] Parcourir (fonction file)
    O Valider


    En même temps, ce que je desire est que par exemple, pour un fichier de cours ZZZ appartenant au groupe A, mon code le mette dans un repertoire specifique ( /cours/A ) et qu'en même temps cela enregistre le fichier dans une base de donnée dy type
    ID auto / nom / catégorie (A B C ) / chemin d'acces (type /cours/A/nomdufichier) .

    Or voila, je ne vois pas comment juste enregister le chemin d'acces dans ma base de donnée...pour pouvoir rapeller plus tard mes fichier disponible avec un SELECT etc ....... tout en le placant dans le bon repertoire selon le choix A B C (dois je faire une boucle if type=A then placer dans /cours/A/ , else if type=B placer dans /cours/B )

    Je suis coincé, je ne sais pas quelle commande utiliser pour enregister le fichier dans un repertoire voulu (selon les choix possibles) tout en enregistrant seuelement la localisation dans la base de donnée.


    Si vous pouviez m'aider avec un code adequate. ! ! ! Merci bcp !!
    Cdt,

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    Mmm c'est confus mais si je comprend bien :

    Plustot que d'avoir ton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     if($type == A) $repertoire = ".../A";
    if($type == B) $repertoire = ".../B/";
    if($type == C) $repertoire = ".../C/";
    Tu peux simplement écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $repertoire = ".../".$type."/"
    De plus, dans les base de données il existe un type de variable "blob", qui sont en faite des données binaires contenant n'importe quoi, et pouvant contenir des fichiers. Mais c'est une autre histoire...

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 20
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par Togis
    Mmm c'est confus mais si je comprend bien :

    Plustot que d'avoir ton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     if($type == A) $repertoire = ".../A";
    if($type == B) $repertoire = ".../B/";
    if($type == C) $repertoire = ".../C/";
    Tu peux simplement écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $repertoire = ".../".$type."/"
    De plus, dans les base de données il existe un type de variable "blob", qui sont en faite des données binaires contenant n'importe quoi, et pouvant contenir des fichiers. Mais c'est une autre histoire...
    D'accord pr la 1ere partie... je crois comprendre ce que me dis.... mais quel est la commande qui dis :" ecrit dans cours/A ?

    Sinon, le BLOB j'en ai entendu l'existence, mais si ma base comprends bcp de cours ca risque d'etre long no pour lexecution de la base? comment juste récupere le chemin d'acces pr inscrire juste cette varialble dans la base et la rapeler plus tard, style dans ma base je veux inscrire /cours/A/nomdufichier.pdf pr pouvoir rapeler plus tard en a href avec un select ...

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Points : 716
    Points
    716
    Par défaut
    La fonction move_uploaded_file() te permet de déplacer ton fichier uploadé dans le répertoire qui convient.

    Quant à savoir si un fichier donné appartient à un type donné, il s'agit d'avantage d'une question d'analyse que de codage à mon avis.
    Une table listant tes types semble la meilleure solution : ainsi un fichier donné possède un type donné, et donc implicitement un répertoire de stockage correspondant à ce type.

Discussions similaires

  1. [SBI] Gestion des utilisateurs en base de données
    Par crazy dans le forum SpagoBI
    Réponses: 2
    Dernier message: 01/10/2009, 11h35
  2. Réponses: 3
    Dernier message: 19/02/2009, 23h15
  3. Gestion des connexions à la base de données
    Par DoubleU dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 04/07/2008, 15h04
  4. Gestion des accès à une base de données
    Par white_tiger dans le forum Sécurité
    Réponses: 7
    Dernier message: 07/02/2007, 00h39
  5. [Conception] Lier des fichiers à une base de données
    Par sandytarit dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 29/06/2006, 20h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo