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

Symfony PHP Discussion :

comment utiliser sfWidgetFormInputFile pour enregistrer un nom de fichier en bdd ?


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Par défaut comment utiliser sfWidgetFormInputFile pour enregistrer un nom de fichier en bdd ?
    Bonjour, je souhaite utilisé le sfWidgetFormInputFile pour qu'un utilisateur navigue dans ces dossier et enregistre un fichier sans l'uploader mais juste enregistrer son nom en base de donnée.

    j'ai essayé juste un new sfWidgetFormInputFile() avec un validatorString() mais ça doit m'enregistrer le fichier et non le nom du fichier en base car ça m'affiche array en bdd

    merci pour votre aide

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Par défaut
    Personne pour m'aider?
    j'ai vu qu'il y avait une méthode getOriginalName() dans la classe sfValidatedFile
    mais je ne voit pas ou l'on peut utiliser cette methode ni quand?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Par défaut
    je remonte le post car je n'ai toujours pas trouvé de solution a mon problème

  4. #4
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Je n'ai jamais eu le cas, mais j'ai jeté un œil rapide, pas de test.

    Le système de récupération des fichiers ne fonctionne pas exactement comme celui des autres champs de données qui utilisent un sfWidgetSchema pour gérer et récupérer les données.

    En fait, pour les fichiers, le widget ne fait qu'afficher la demande et c'est le validateur sfValidatorFile qui fait la partie récupération (et par là j'entends récupérer sur le serveur le fichier) du fichier. De ce sfValidatorFile on peut récupérer une instance sur un objet de la classe sfValidatedFile qui est l'objet qui "contiens" le fichier récupéré (après importation sur le serveur) et toutes ces propriété. Miracle, nous avons enfin une méthode getOriginalName() qui nous tends les bras.

    Ceci signifie que si on veut utiliser ce système pour récupérer un nom de fichier (et juste le nom) on va importer le fichier sur le serveur a chaque fois et pour rien, ce qui va impliquer de la bande passante et du temps utilisé pour rien.

    Il n'y a pas d'autre widget qui a ma connaissance permettraient de ne récupérer que le nom.

    Je pense que la meilleur solution serait de partir d'un sfWidgetInput et de créer une nouvelle classe genre sfWidgetInputFileName en étendant la classe de base. Et éventuellement de créer un validateur basé sur sfValidatorRegex qui permettrait de valider le nom du fichier récupéré.

    Bonne chance.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Par défaut
    merci pour toutes tes infos,

    je vais me documenter pour savoir quelles sont les étapes à suivre car je n'ai jamais créé de widget personnalisé étendu d'un widget

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Par défaut
    Bonjour, j'avais un peu laissé tomber ce problème
    je n'ai pas trouvé d'exemple dans la documentation de symfony

    Il faut que je créer un validator spécifique a mon problème, c'est à dire récupérer le Filename seulement et le mettre en base plutôt que tout le fichier, c'est bien ça?

    Faut'il que je récupère le validatorFile dans l'install de symfony et que je le bidouille ensuite je le colle dans le lib/validator de mon application?

    merci

Discussions similaires

  1. VBA - Récupération d'une cellule pour enregistrer un nom de fichier
    Par Jane92 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/06/2015, 09h45
  2. Macro pour enregistrer sous / nom du fichier
    Par vinzu dans le forum VBA Word
    Réponses: 12
    Dernier message: 05/11/2014, 18h19
  3. Réponses: 14
    Dernier message: 22/04/2006, 21h59
  4. Comment utiliser un composant sans son nom ?
    Par aliwassem dans le forum Langage
    Réponses: 4
    Dernier message: 03/10/2005, 20h47
  5. [Struts]comment faites-vous pour enregistrer..
    Par pouss dans le forum Struts 1
    Réponses: 7
    Dernier message: 30/09/2005, 12h55

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