2011-02-13 3 views
1

J'utilise symfony pour développer un site Web et le faire fonctionner principalement, mais j'en ai besoin pour redimensionner les images à une certaine taille quand elles sont téléchargées. J'ai installé le sfImageTransfomPlugin pour me permettre de les redimensionner, et compris que je dois surcharger la méthode save() dans la classe model, mais je ne trouve aucune documentation pour obtenir les informations sur l'image téléchargée afin que je puisse redimensionner il. Quelqu'un a-t-il déjà fait cela ou peut-il me diriger vers une documentation?symfony image upload redimensionner

Merci d'avance.

Répondre

3

Redimensionner des images dans le modèle n'est pas une bonne pratique, à mon humble avis.

documentation de Le plugin indique déjà de mise en oeuvre simple:

public function executeUpload($sfWebRequest) { 
    [...] 
    $img = new sfImage($filename, 'image/jpg'); 
    $img->resize(100, 100); 
    $img->save(); 
    [...] 
} 

En supposant que vous lient les valeurs soumises par bind méthode:

$this->form->bind(...); 

Nom du fichier téléchargé, vous pouvez obtenir à partir de votre objet formulaire:

$file = $this->form->getValue('file'); 
$filename = $file->getOriginalName().$file->getExtension($file->getOriginalExtension()); 
+0

droite, j'ai déjà compris. Comment puis-je obtenir '$ filename' pour un nouveau téléchargement d'image? – regality

+0

juste mis à jour ma réponse – Darmen

+0

vous étiez vraiment proche, mais j'ai dû utiliser '$ file-> getSavedName()' pour obtenir le nom de fichier afin de pouvoir le changer. Mais sinon ça a marché. Merci beaucoup! – regality