Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/08/2011, 17h15   #1
Membre habitué
 
Inscription : juin 2006
Messages : 488
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 488
Points : 116
Points : 116
Par défaut uploader un fichier pour remplir une table

Bonjour,
j'aurai besoin de remplir une table vie un fichier que j'uploaderai.

le souci est que je ne comprend pas la logique des form avec le widget sfWidgetFormInputFile.

j'ai créer un form:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
class uploadwhampcForm extends sfForm
{
    public function configure()
    {
        $this->widgetSchema['date'] = new sfWidgetFormDate();
        $this->validatorSchema['date'] = new sfValidatorDate();
 
        $this->widgetSchema['whampc']= new sfWidgetFormInputFile();
        $this->validatorSchema['whampc'] = new sfValidatorFile(array(
            'required' =>true,
            'path' => sfConfig::get('sf_upload_dir'),
        ) );
    }
}
je recupere le submit dans une action:
Code :
1
2
3
4
5
6
public function executeUploadCreate(sfWebRequest $request)
  {
      $this->form = new uploadwhampcForm();
      $this->processuploadForm($request, $this->form);
 
  }
la ou je coince c'est dans le process, je maitrise pas du tout cette notion de bind, résultat je bloque:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
public function processuploadForm(sfWebRequest $request, sfForm $form)
  {
 
      $form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));
      if ($form->isValid())
      {
         $whampc = $form->save();
 
        $this->redirect('whampc/index');
      }
 
  }
que dois je mettre dans la fonction bind pour qu'il m'upload mon fichier ?
erictomcat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 19h10   #2
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
C'est un truc que je n'ai jamais testé ni mi en œuvre.

Regarde du côté du tuto Jobbet, en général ceux qui ont ces problèmes et qui ont refait le truc on trouvé une solution.

En général...
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2011, 11h23   #3
Membre habitué
 
Inscription : juin 2006
Messages : 488
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 488
Points : 116
Points : 116
pour le moment j'ai contourné le problème en créant une table d'upload de fichier:
Code :
1
2
3
4
5
6
7
8
 
uploadFile:
  columns:
    name: string(50)
    date: date
    tableupload: string(50)
    file: string(255)
    treated: boolean
et suivant le champ tableupload je redirige vers le bon model.
erictomcat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2011, 18h58   #4
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h06.


 
 
 
 
Partenaires

Hébergement Web