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)) {