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; }