2017-03-23 10 views
0

내가 filemanager 요소를 사용하여 파일 업로드 수행 형태가 확인되면 나는 데이터베이스 내 인스턴스를 기록 할 때,무들 파일 API : 여러 행? 무들 양식에서

$mform->addElement('filemanager', 'attachment',get_string('displayedcontent', 'block_helloworld'), null, $filemanageropts); 

을, 또한 다음과 같은 기능을 사용하여 업로드 된 파일을 저장합니다

file_save_draft_area_files($form_submitted_data->attachment, $context->id, 'block_helloworld', 'attachment', 
    $form_submitted_data->attachment, array('subdirs' => 0, 'maxbytes' => 500000, 'maxfiles' => 1)); 

이 은 잘 작동하지만 난 DB 테이블 mdl_files에서 살펴 때, 나는 내 파일에 대해 4 개 행이 있음을 보았다

component  fileare  itemid filepath filename 
block_helloworld attachment 706783489 / . 
block_helloworld attachment 706783489 / test5.pdf 
user draft 706783489 / . 
user draft 706783489 / test5.pdf 

내 업로드 파일에 대한 행이 내 구성 요소에 block_helloworld이고 구성 요소가 user입니다. 한 행에는 파일 이름이 있지만 다른 행에는 없습니다!

이상하게 들립니다. 그게 정상인가요? 파일 삭제를 수행 할 때 이러한 파일을 모두 삭제하는 방법은 무엇입니까?

참고 : 나는 지금까지 내가 기억하는 무 v3.0.6

+0

어떤 무들 버전을 사용하고 있습니까? –

답변

0

을 사용하고, 이는 정상적인 동작입니다. 나도이 문제를 가지고 있었지만, 파일을 코스에 업로드하는 것과 같은 체크를 할 때 2 행이 있다는 것을 알게 될 것이다. 확실하지, 왜하지만 나를 위해 그것을 정상적인 동작

0

이었다 4 항목은 다음과 같습니다

  • 파일이
  • 파일 자체
  • 폴더에 폴더 그의 초안 버전 양식이
  • 형태 동안 초안 파일을 편집중인

초안 파이를 편집하는 동안 파일에 저장됩니다 레는 하루 정도 지나면 자동으로 지워질 것입니다.

+0

좋아, 내가 삭제 페이지를 구현할 때, 난 단지 내 구성 요소'block_helloworld'에 대한 2 행을 제거해야합니다 (그리고'사용자'구성 요소 행에 대해 상관 없어)? –

+0

블록 컨텍스트에 있고 블록을 삭제하는 경우 무들은 자동으로 정리해야합니다. 그렇지 않으면 파일 API를 사용하여 영역을 삭제하십시오. mdl_files에 직접 액세스 할 필요가 없습니다. – davosmith

+0

필자는 내장 파일 API를 사용하여 파일 삭제 만 수행 하겠지만 삭제를 수행 할 때 파일 이름이있는 행만 삭제됩니다. filename = '.'인 행 여전히 mdl_files에 있습니다. 그게 정상인가요? 이 줄을 너무 지우려면 파일 API를 사용하여 코드를 추가해야합니까? –