function LoadImage($PostName, $Dir, $ThumbsDir, $MaxWidth, $MaxHeight, $Default, &$Error, $CreateThumbs = true, $OriginalOptimization = false, $OriginalMaxWidth = 800, $OriginalMaxHeight = 600)
{
    $Error = false;
    if ($Default == 'no_image/no_image.png') {
        $Default = '';
    }
    $Dir = RealPath2($Dir);
    $ThumbsDir = RealPath2($ThumbsDir);
    $alloy_mime = array('image/gif', 'image/jpeg', 'image/pjpeg', 'image/png', 'image/x-png', 'application/octet-stream');
    $alloy_exts = array('.gif', '.jpg', '.jpeg', '.png');
    if (isset($_FILES[$PostName]) && is_file($_FILES[$PostName]['tmp_name'])) {
        if (in_array($_FILES[$PostName]['type'], $alloy_mime) && in_array(strtolower(GetFileExt($_FILES[$PostName]['name'])), $alloy_exts)) {
            $file_name = Translit4Url($_FILES[$PostName]['name']);
            if (!is_dir($Dir)) {
                mkdir($Dir, 0777);
            }
            $ext = GetFileExt($file_name);
            $name = GetFileName($file_name, true);
            $i = 1;
            while (is_file($Dir . '/' . $file_name)) {
                $i++;
                $file_name = $name . '_' . $i . $ext;
            }
            $FileName = $Dir . '/' . $file_name;
            $ThumbFileName = $ThumbsDir . '/' . $file_name;
            if (!$OriginalOptimization) {
                copy($_FILES[$PostName]['tmp_name'], $FileName);
            } else {
                CreateThumb($_FILES[$PostName]['tmp_name'], $FileName, $OriginalMaxWidth, $OriginalMaxHeight);
            }
            if ($CreateThumbs) {
                if (!is_dir($ThumbsDir)) {
                    mkdir($ThumbsDir, 0777);
                }
                CreateThumb($FileName, $ThumbFileName, $MaxWidth, $MaxHeight);
            }
            $result = $file_name;
        } else {
            $Error = true;
            return RealPath2(SafeEnv($Default, 255, str));
        }
    } else {
        $result = RealPath2(SafeEnv($Default, 255, str));
    }
    return $result;
}
 /**
  * Перемименование файла.
  */
 public function RenameFile()
 {
     $old_name = $_POST['filename'];
     $new_name = $_POST['newname'];
     $dir = RealPath2($_POST['path']);
     $dir2 = DIR_FILES . '/' . $dir;
     // Новое имя файла
     $new_file = Translit4Url(Utf8ToCp1251($new_name)) . GetFileExt($old_name);
     $old_file_name = RealPath2($dir2 . '/' . $old_name);
     $new_file_name = RealPath2($dir2 . '/' . $new_file);
     $new_link = URL_FILES . '/' . ($dir != '' ? $dir . '/' : '') . $new_file;
     if (!is_file($old_file_name)) {
         return JsonEncode(array('error' => 'Ошибка. Файл не существует.'));
     }
     if ($old_file_name != $new_file_name) {
         if (is_file($new_file_name)) {
             return JsonEncode(array('error' => 'Ошибка. Невозможно переименовать, файл с таким именем уже существует.'));
         }
         if (!rename($old_file_name, $new_file_name)) {
             // Переименование
             return JsonEncode(array('error' => 'Ошибка переименования файла.'));
         }
     }
     echo JsonEncode(array('ok' => GetFileName($new_file, true), 'ok2' => GetFileName($new_file), 'linkto' => $new_link));
     exit;
 }