file_save_upload

Проблема c file_save_upload

Аватар пользователя vpolotskiy

Здравствуйте!
Нужно создать модуль, который кроме своего основного функционала, будет загружать файлы определенного расширения на сервер.
Использую функцию file_save_upload.
Код:

function mymodule_perm() {
  return array('access mymodule content', 'access administration pages');
}
function mymodule_menu() {
        $items = array();
 
        $items['admin/settings/mymodule'] = array(
                'title' => t('Mymodule'),
                'description' => 'Description',
                'page callback' => 'show_form',
                'access arguments' => array('access administration pages'),
                'type' => MENU_NORMAL_ITEM,
        );
 
        return $items;
}
function mymodule_addform() {
        $form = array();       
        $form['fieldset'] = array(
                '#weight' => '0',
                '#collapsed' => '0',
                '#type' => 'fieldset',
                '#collapsible' => '1',
                '#title' => t('Upload file'),
        );     
        $form['fieldset']['uploadfile'] = array(
                '#weight' => '0',
                '#size' => '30',
                '#type' => 'file',
                '#title' => t('File'),
        );
        $form['fieldset']['submit'] = array(
                '#weight' => '0',
                '#size' => '30',
                '#type' => 'submit',
                '#value' => t('Add'),
        );     
       
        return $form;
}

function show_form() {
        return drupal_get_form('mymodule_addform');
}

function mymodule_addform_validate($form, &$form_state) {
        $validators = array();
        $validators = array('file_validate_extensions' => array('jpg'));
        $dir = file_directory_path() . '/mymodulefiles';
        $replace = FILE_EXISTS_RENAME;
    if(file_check_directory($dir, 1)) {
                $file = file_save_upload('uploadfile', $validators, $dir, $replace);
        } else {

0 Спасибо

Не работает file_save_upload

Аватар пользователя KuzminStepan

Не получается загрузить файл через file_save_upload.

function advanced_video_widget(&$form, &$form_state, $field, $items, $delta = 0) {
    $output = array();
    $output['#attributes'] = array('enctype' => "multipart/form-data");
    $output['advanced_video_upload'] = array(
        '#type' => 'fieldset',
        '#title' => t('Upload video file'),
    );
    $output['advanced_video_upload']['advanced_video_upload_file'] = array(
        '#type' => 'file',
        '#title' => t('Attach video file'),
        '#size' => 40,
    );
    $output['advanced_video_upload']['advanced_video_upload_button'] = array(
        '#type' => 'submit',
        '#value' => t('Upload'),
        '#submit' => array('advanced_video_upload'), // Without javascript
    );
    return $output;
} // function advanced_video_widget

function advanced_video_upload($form, &$form_state) {
//    dvm($_FILES);

     $limits = array () ;
     $limits['extensions'] = array ('jpg') ;

     $validators = array(
         'file_validate_extensions' => array($limits['extensions']),
     );

     $file = file_save_upload('advanced_video_upload_file', $validators, file_directory_path());
     if ($file) {
         file_set_status($file, FILE_STATUS_PERMANENT);
     }
} // function advanced_video_upload

0 Спасибо