2011-12-11 4 views
-1

J'ai un modèle Poster et le serveur stocke des images. Le modèle a donc un champ filename. J'ai une classe de formulaire MakenewForm.php et je dois remplacer son doSave() de manière à réaliser une sauvegarde pour un objet Poster. le MakenewForm a un champ de texte qui est écrit sur une image prédéfinie en utilisant imagettftext. donc pour enregistrer, j'ai besoin deSymfony enregistrer un objet de modèle différent

1. save the modified image data onto a file in the filesystem. 
2. save an object of Poster class with filename field set to the newly saved file 

Pour l'étape 1, je veux obtenir un nom aléatoire pour le nouveau fichier. Je sais que symfony utilise un nom de fichier aléatoire pour les fichiers téléchargés (file input widget and file validator), je voudrais utiliser la même fonction mais je ne peux pas savoir de quoi il s'agit.

Pour l'étape 2, je suis un peu confus en raison de cette variable $con. Quelle est son utilisation? et Comment l'utiliser pour répondre à mes besoins? Eh bien, je peux toujours réaliser l'épargne en faisant un objet de PosterForm et en réglant les champs appropriés et en appelant doSave pour cela. Mais je voudrais remplacer la fonction doSave() par défaut du formulaire. Mon MakenewFormextendsPosterForm: P

Répondre

0

Etape 1: la fonction est generateFilename et il est dans le fichier sfValidatedFile.class.php (source file, regardez également ce forum post)

Étape 2: regardez la form documentation, sur la section de téléchargement de fichiers, en particulier liste 2-20, où est montrer comment enregistrer un fichier à partir d'un formulaire avec un nom de fichier de choix

Questions connexes