private function uploadFile($view, $object)
 {
     // $object->getImagesList();
     if ($_FILES['userfile']['name'] == NULL) {
         return;
     }
     if ($_FILES['userfile']['size'] > RealEstateAgency_Const::MAX_FILE_SIZE) {
         // Protection, if MAX_FILE_SIZE was manually removed from the web page
         $view->upload_status = 'Не вдалося записати зображення. Розмір має бути менше ' . RealEstateAgency_Const::MAX_FILE_SIZE;
         $view->upload_status_error = true;
         return;
     }
     if ($_FILES['userfile']['error'] == 1) {
         $view->upload_status = 'Не вдалося записати зображення. Вибачте, але сервер не дозволяє завантажувати файли такого об\'єму.';
         $view->upload_status_error = true;
         return;
     }
     if ($_FILES['userfile']['error'] == 2) {
         $view->upload_status = 'Не вдалося записати зображення. Розмір має бути менше ' . RealEstateAgency_Const::MAX_FILE_SIZE;
         $view->upload_status_error = true;
         return;
     }
     if ($_FILES['userfile']['error'] == 3) {
         $view->upload_status = 'Не вдалося записати зображення. Файл було отримано тільки частково. ';
         $view->upload_status_error = true;
         return;
     }
     // foreach ($_FILES['userfile'] as $key => $value) {
     // $str_z = $key . ' = ' . $value . '<br />' . "\n";
     // echo "*(" . $str_z . ")*";
     // }
     $uploaddir = RealEstateAgency_Const::UPLOAD_IMAGES_DIR;
     $basename = basename($_FILES['userfile']['name']);
     $ext = strtolower(tools_get_ext($basename));
     if (tools_is_allowable_ext($ext)) {
         // Ok!
     } else {
         $view->upload_status = 'Не вдалося записати зображення. Підтримуються лише файли типу: ' . tools_get_allowable_ext_string() . '.';
         $view->upload_status_error = true;
         return;
     }
     $basename = $object->getNewImageName();
     if ($basename == NULL) {
         $view->upload_status = 'Не вдалося записати зображення. Дозволяється не більше ' . RealEstateAgency_Const::MAX_IMAGES . ' зображень.';
         $view->upload_status_error = true;
         return;
     }
     $basename .= '.' . $ext;
     $uploadfile = $uploaddir . $basename;
     if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
         $view->upload_status = 'Зображення також збережено.';
     } else {
         $view->upload_status = 'Не вдалося записати зображення. Помилка: [' . $_FILES['userfile']['error'] . ']';
         $view->upload_status_error = true;
     }
 }
<?php

require_once 'RealEstateAgency/Const.php';
require_once 'RealEstateAgency/Util.php';
$dir = RealEstateAgency_Const::UPLOAD_IMAGES_DIR;
$name = tools_get_input('name');
$name = basename($name);
$ext = tools_get_ext($name);
$correct = true;
$mime = '';
if ('gif' == $ext) {
    $mime = 'image/gif';
} else {
    if ('png' == $ext) {
        $mime = 'image/png';
    } else {
        if ('jpg' == $ext) {
            $mime = 'image/pjpeg';
        } else {
            if ('jpeg' == $ext) {
                $mime = 'image/pjpeg';
            } else {
                $correct = false;
            }
        }
    }
}
$name = str_replace('/', '_', $name);
$name = str_replace('\\', '_', $name);
$filename = $dir . $name;
if (!tools_is_allowable_ext($ext)) {