템플리트 파트를 통해 사용자 정의 HTML 양식을 생성하는 모듈을 사용합니다.맞춤형으로 생성 된 심포니 1.4 양식을 사용하여 파일 업로드하기
양식의 4 가지 파일 업로드를 관리해야합니다.
$allData = $request->getParameterHolder()->getAll();
나에게 업로드 된 파일 이름을 얻을 것이다, 그러나 나는 또한 업로드 디렉토리에이 파일을 저장해야합니다 행동에서
나는과 같이 모든 필드 데이터를 당깁니다.
나는과 같이 양식을 결합하려고 :하는데 성공$attachments
객체를 생성
if(isset($customData['getAttachments']) && count($allData)){
$attachments = $formInput->bind($request->getParameter('forms_input'), $request->getFiles('forms_input'));
}
합니다. 그에 정신 검사를 덤프하는 var_dump($attachments);die;
입니다 :
object(FormsInput)#225 (18) { ["_node":protected]=> NULL ["_id":protected]=> array(1) { ["id"]=> string(5) "32171" } ["_data":protected]=> array(6) { ["id"]=> string(5) "32171" ["form_uid"]=> string(32) "aef79b2d47722ca154788cc9c8f8de2b" ["data_array"]=> string(770) "a:20:{s:9:...
어떻게 파일을 추출하여 디렉토리에 밀어. 나는이 시도 :
$file = $attachments->getValue('file');
if($file) {
$filename = sha1($file->getOriginalName()).$file->getExtension($file->getOriginalExtension());
$file->save(sfConfig::get('sf_upload_dir').'/'.$formTitle.'/'.$usrDir.''.$filename);
}
을하지만이 오류가 발생합니다 :
Unknown record property/related component "value" on "FormsInput"
가 어떻게이 (가) 김포 디렉토리에 업로드 얻을 수 있습니까?
UPDATE
는 sfValidatorFile 클래스를 사용하려고하지만 난 $ 첨부 객체에서 그것을 매개 변수를 전달하는 방법을 알아낼 수 없습니다 :
$file = new sfValidatorFile();
if($file) {
$filename = sha1($file->getOriginalName()).$file->getExtension($file->getOriginalExtension());
$file->save(sfConfig::get('sf_upload_dir').'/uploadedDir');
}
던졌습니다이 :
Fatal error: Call to undefined method sfValidatorFile::save()
저는 전통적인 방식으로 sf 양식을 사용하지 않습니다. FormsInputForms 클래스에서 위젯을 정의하지 않습니다. html로 부분 형식을 사용하고 그 형식 데이터를 직렬화합니다. $ 첨부 파일에는 파일 정보가 있지만 $ 첨부 파일에서 파일을 추출하여 dir에 보내는 방법을 여전히 모릅니다. 위의 업데이트 된 코드보기 –
폼 기능을 사용하지 않는 경우 파일을 "전통적인 PHP 방식"('_FILES' 및'move_uploaded_file()')으로 저장하십시오. 사실, 위젯과 검증을 사용하지 않는다면 왜 Symfony 양식을 사용합니까? 그것은 단지 이해가되지 않습니다. –
많은 응용 프로그램에서 우리는 Symfony 양식 기능을 사용합니다. 이것은 다른 방법을 사용해야하는 특정한 경우입니다. –