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 10/06/2011, 16h32   #1
Invité de passage
 
Inscription : mai 2009
Messages : 1
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 1
Points : 0
Points : 0
Par défaut Erreur étrange dans un doSave : FATAL ERROR, mais le traitement continu oO

Bonjour.

C'est la première fois de ma vie où j'ai une erreur aussi insolite.

Je tourne sous Symfony 1.4.11. Je voudrais redimensionner l'avatar posté et validé par un sfValidatorFile à chaque enregistrement dans un doSave() de la classe du formulaire.

Le problème c'est que cela me provoque une erreur :
Fatal error: Call to a member function getTempName() on a non-object in lib/form/doctrine/MembreForm.class.php

Et pourtant le traitement continu bel et bien ! Je génère une série de miniatures et ces dites miniatures sont bien créées ! Mon getTempName renvoit bien le chemin temporaire de l'upload. Mouarf je comprends plus rien xD

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
  protected function doSave($con = null) {
    if ($file = $this->getValue('avatar')) {
      $sel = mt_rand(1,50000);
      $tmp_name = $file->getTempName(); // <======== ligne qui fait tout planter
      // Génération miniature 50x50
      $mini = new sfThumbnail(50, 50, false, true, 80);
      $mini->loadFile($tmp_name);
      $mini->save(sfConfig::get('sf_upload_dir').'/avatars/50x50/'.$sel.$file->getOriginalName(), 'image/jpeg');
 
      // Génération miniature 32x32
      $mini = new sfThumbnail(32, 32, false, true, 80);
      $mini->loadFile($tmp_name);
      $mini->save(sfConfig::get('sf_upload_dir').'/avatars/32x32/'.$sel.$file->getOriginalName(), 'image/jpeg');
 
      // Génération miniature 16x16
      $mini = new sfThumbnail(16, 16, false, true, 80);
      $mini->loadFile($tmp_name);
      $mini->save(sfConfig::get('sf_upload_dir').'/avatars/16x16/'.$sel.$file->getOriginalName(), 'image/jpeg');
 
      $this->values['avatar'] = $sel.$file->getOriginalName();
    }
    else
      $this->values['avatar'] = $this->getObject()->getAvatar();
 
    return parent::save($con);
  }
Merci d'avance
Mickael Knight 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 04h58.


 
 
 
 
Partenaires

Hébergement Web