it-swarm-ko.tech

파일 업로드에 더 많은 파일 확장자를 허용하려면 어떻게해야합니까?

사용자가 파일을 업로드 할 수있는 모듈이 있으며 파일이 허용 된 확장의 표준 배열에있는 한 모든 것이 작동합니다. file_validate_extensions() 사용해 보았지만 아무것도 변경되지 않는 것 같습니다.

이것은 내가 지금 업로드하는 데 사용하는 코드입니다 (docx 확장이 표준 허용 된 확장에 추가되었지만 선택되지 않은 것 같습니다).

$fid = $form_state['values']['attachment'];
$file = file_load($fid);

if ($file != null) {
  file_validate_extensions($file, "jpg jpeg gif png txt doc xls pdf ppt pps odt ods odp docx");
  $file->status = FILE_STATUS_PERMANENT;
  file_save($file);
}
1
Valyrion

오류가 발생했는지 감지하려면 실제로 file_validate_extensions () 함수의 반환 값을 확인해야합니다.

따라서 코드는 다음과 같습니다.

$fid = $form_state['values']['attachment'];
$file = file_load($fid);

if ($file != null) {
  $extension_errors=file_validate_extensions($file, "jpg jpeg gif png txt doc xls pdf ppt pps odt ods odp docx");
  if (!$extension_errors) {
  $file->status = FILE_STATUS_PERMANENT;
  file_save($file);
  } else form_set_error('attachment',$extension_errors[0]);
}
2
cmos

당신이 찾고있는 것이 여기에 있다고 생각합니다

drupal-7-handling-file-uploads

Drupal 7 양식 API : 파일이 업로드되지 않음

나도 아래 양식으로 시도했지만 나를 위해 일했습니다.

function video_upload_subtitles_form($form, &$form_state) {
     $form['sub_file'] = array(
            '#type' => 'file',
            '#title' => t('Upload video'),
            '#description' => t('Pick a video file to upload.'),
        );

}
function video_upload_subtitles_form_submit($form, &$form_state) {
 $validators = array('file_validate_extensions' => array());
 $file = file_save_upload('sub_file', $validators, "public://");
}
0
Hitesh