2011-12-11 4 views
-1

모델이 Poster이고 서버에 이미지가 저장되어 있습니다. 모델에는 filename 필드가 있습니다. 나는 폼 클래스 MakenewForm.php을 가지고 있으며, Poster 객체를 저장하기 위해 doSave()을 오버라이드해야합니다. MakenewForm에는 imagettftext을 사용하여 사전 설정된 이미지 위에 쓰여지는 텍스트 필드가 있습니다. 그래서 저축을 위해, 나는Symfony 다른 모델의 객체 저장

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 

을 필요로한다. 나는 1 단계에서 새로운 파일의 임의의 이름을 얻고 싶다. symfony가 업로드 된 파일에 임의의 파일 이름 (file input widget and file validator)을 사용한다는 것을 알고 있습니다. 동일한 기능을 사용하고 싶지만 어떤 파일인지는 알 수 없습니다.

2 단계에서이 $con 변수로 인해 약간 혼란 스럽습니다. 그 용도는 무엇입니까? 내 요구 사항을 충족시키기 위해 어떻게 사용합니까? 음, 나는 항상 PosterForm의 객체를 만들고 적절한 필드를 설정하고 doSave을 호출하여 절약 할 수 있습니다. 하지만 양식의 기본 doSave() 기능을 재정의하고 싶습니다. 내 MakenewFormextendsPosterForm : P

답변

0

1 단계 : 함수가 generateFilename이며이 sfValidatedFile.class.php 파일에 (source file,이 forum post보고)

2 단계 : 파일 업로드 섹션에서 form documentation 보면, 특별히 Listing 2-20, 여기서는 파일 이름이 선택되어있는 양식에서 파일을 저장하는 방법을 보여줍니다.