Exemple #1
0
 require_once getinfo('common_dir') . 'uploads.php';
 // функции загрузки
 // параметры для mso_upload
 // конфиг CI-библиотеки upload
 $mso_upload_ar1 = array('upload_path' => getinfo('uploads_dir') . $current_dir, 'allowed_types' => $allowed_types);
 $mso_upload_ar2 = array('userfile_title' => $post['f_userfile_title'], 'fn_mso_descritions' => $fn_mso_descritions, 'userfile_resize' => isset($post['f_userfile_resize']), 'userfile_resize_size' => $post['f_userfile_resize_size'], 'userfile_water' => isset($post['f_userfile_water']), 'userfile_water_file' => getinfo('uploads_dir') . 'watermark.png', 'water_type' => $post['f_water_type'], 'userfile_mini' => isset($post['f_userfile_mini']), 'userfile_mini_size' => $post['f_userfile_mini_size'], 'mini_type' => $post['f_mini_type'], 'prev_size' => 100, 'message1' => '');
 // запомним указанные размеры и выставим их для полей формы вновь
 $f_userfile_resize = isset($post['f_userfile_resize']);
 $f_userfile_resize_size = $post['f_userfile_resize_size'];
 $f_userfile_water = isset($post['f_userfile_water']);
 $f_water_type = $post['f_water_type'];
 $f_userfile_mini = isset($post['f_userfile_mini']);
 $f_userfile_mini_size = $post['f_userfile_mini_size'];
 $f_mini_type = $post['f_mini_type'];
 // подготовим массив $_FILES - у нас множественная загрузка
 $new_files = mso_prepare_files('f_userfile');
 $res = false;
 // результат загрузки
 // формируем поэлементно с загрузкой файлов
 foreach ($new_files as $key => $val) {
     $_FILES[$key] = $val;
     // формируем $_FILES для одиночного файла
     $res = mso_upload($mso_upload_ar1, $key, $mso_upload_ar2);
     unset($_FILES[$key]);
 }
 if ($res) {
     echo '<div class="update">' . t('Загрузка выполнена') . '</div>';
 } else {
     echo '<div class="error">' . t('Возникли ошибки при загрузке') . '</div>';
 }
 // после загрузки сразу обновим массив описаний - он ниже используется
Exemple #2
0
function forms_files_post($files)
{
    // возвращать нужно данные для $prefs
    if (!$files) {
        return false;
    }
    // файлы не нужны
    if (!isset($_FILES)) {
        return false;
    }
    // не были отправлены файлы
    require_once getinfo('common_dir') . 'uploads.php';
    // функции загрузки
    $_FILES = mso_prepare_files('forms_files');
    // переформатируем массив присланных файлов
    // формирование папки для временных файлов вложений
    $cache_folder = getinfo('cache_dir') . 'forms_attaches/';
    if (!file_exists($cache_folder)) {
        mkdir($cache_folder, 0666);
    }
    // параметры для mso_upload
    // конфиг CI-библиотеки upload
    $mso_upload_ar1 = array('upload_path' => $cache_folder, 'allowed_types' => $files['file_type'], 'max_size' => $files['file_max_size'], 'overwrite' => true);
    $mso_upload_ar2 = array('userfile_resize' => false, 'userfile_water' => false, 'userfile_mini' => false, 'prev_size' => false, 'mini_make' => false, 'prev_make' => false, 'message1' => '');
    $CI =& get_instance();
    $file_attaches = array();
    foreach ($_FILES as $f_key => $f_info) {
        ob_start();
        $res = mso_upload($mso_upload_ar1, $f_key, $mso_upload_ar2);
        $msg = ob_get_contents();
        // сообщения, если были ошибки
        ob_end_clean();
        if (!$msg && $res) {
            $up_data = $CI->upload->data();
            // формируем список вложений к письму
            $file_attaches[] = $up_data['full_path'];
        } else {
            // ошибки не выводим
            // $out .= '<div class="message error small">' . strip_tags($msg) . '</div>';
            break;
        }
    }
    return $file_attaches;
}