Почему не получается загрузить файл через Form API

Главные вкладки

Аватар пользователя Poveritov Poveritov 28 декабря 2016 в 14:30

Подскажите, что в чем может быть проблема,

создаю форму

function build_upload_form(){
        $form['#attributes'] = array('enctype' => 'multipart/form-data');

    $form['file_upload'] = array(
        '#type'                 => 'file',
        '#title'                => 'Filename',
    );
    $form['submit'] = array(
        '#type' => 'submit',
        '#value' => 'Upload'
    );
    return $form;
}

далее сохранение

function build_upload_form_submit($form, $form_state) {
        $validators = array(
                        'file_validate_extensions'      => 'txt',                       // Проверка на расширения
    );

        $file = file_save_upload('file', $validators,file_directory_path());
        drupal_set_message("<pre>".var_export($file,1)."</pre>");
}

все время возвращает 0.
Что делаю не так?

Комментарии

Аватар пользователя Poveritov Poveritov 29 декабря 2016 в 10:20

разобрался,
изменил код на

$validators = array(
                                'file_validate_extensions'      => array('txt'),       
        );
                $dir = file_directory_path() . '/temp'.;
                 
                if(file_check_directory($dir, 1)) {
                       
                        //загружаем файл
                $file = file_save_upload('file_upload', $validators, $dir);

                if ($file) $form_state['values']['file_upload'] = $file;
                }