0
rename-addFilter를 사용하여 업로드 된 파일의 이름을 바꾸려고합니다. 실제 업로드가 이미 작동하지만 파일이 방금 업로드되고 이름이 변경되지 않으므로 어떻게해야합니까?Zend_File_Transfer : 업로드 후 파일 이름 바꾸기
//Getting the new filename, works perfectly:
$name = explode('.', $form['pic']);
$ext = $name[1];
$mapper = new Application_Model_CmsMap();
$row = $mapper->fetchRow('childId = "' . $id . '" AND type= "pic"');
$new_filename = $row->name.'.'.$ext;
//All images will and are be stored in /public/images/
//Maybe the picture should be replaced, so it should be overwrited, in case it already exists
$upload->addFilter('Rename', array(
'target' => '/images/'.$new_filename,
'overwrite' => true,
)
);
$upload->receive();
일을해야 당신이 필터를 적용하기 전에 파일을 수신 할 수있다 생각합니다. 폼에 대해 getValues ()를 호출하면 파일을 수신합니다. ** reference : ** _Per default는 폼에서 getValues ()를 호출 할 때 자동으로 수신됩니다. 이 동작의 이유는 파일 자체가 파일 요소의 값이기 때문입니다. ** 그래서 : ** _Still, 때로는 파일을받지 않고 getValues ()를 호출 할 수 있습니다. setValueDisabled (true)를 호출하여이를 보관할 수 있습니다. 이 플래그의 실제 값을 얻으려면 isValueDisabled()를 호출 할 수 있습니다. _이 도움이 되었기를 바랍니다 ... – RockyFord
이것이 앞으로 도움이 될 것입니다. 불행히도 여러 편집 작업에 하나의 컨트롤러를 사용하기 때문에이 양식의 데이터가 필요합니다. 이 형식의 '유형'속성은 데이터베이스 또는이 경우 파일을 추가 또는 업데이트하는 데 필요한 조치를 호출합니다. 하지만 내 대답은 다음과 같습니다. PHP는 간단하고 완벽하게 작동합니다. 그렇다면 왜 신경을 씁니까? – StoryTeller