/** * Wysyłanie plików na serwer, * Zapis do bazy metadanych * */ public function katalogowanieAction() { $id_katalogu = $this->getRequest()->getParam('katalog'); $catalogMapper = Model_CatalogMapper::getInstance(); $katalog = $catalogMapper->katalog($id_katalogu); $sciezka = $katalog->getPath(); $this->view->sciezka = $sciezka; if (!empty($_FILES)) { $tempFile = $_FILES['Filedata']['tmp_name']; $targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/'; //nazwy plików: tymczasowego i oryginalnego $file = $_FILES['Filedata']['tmp_name']; $filename = $_FILES['Filedata']['name']; //sprawdzenie czy istnieje taka nazwa w bazie $photoMapper = Model_PhotoMapper::getInstance(); $filename_tmp = $filename; $i = 1; do { $nazwa_spr = $photoMapper->sprawdzNazwe($id_katalogu, $filename_tmp); if ($nazwa_spr) { if ($i == 1) { $filename = substr($filename_tmp, 0, -4); } else { if ($i < 10) { $filename = substr($filename_tmp, 0, -8); } else { $filename = substr($filename_tmp, 0, -9); } } $filename_tmp = $filename . ' (' . $i . ')' . '.jpg'; $i++; $a = true; } else { $a = false; } } while ($a); $targetFile = str_replace('//', '/', $targetPath) . $filename_tmp; //pobranie metadanych ze zdjęcia i zapis do bazy $zdjecie = new Model_Photo(); $zdjecie->pobierzMetadane($file, $filename_tmp, $id_katalogu); $mapper = Model_PhotoMapper::getInstance(); $mapper->save($zdjecie); //przesłanie zdjęcia na serwer move_uploaded_file($tempFile, $targetFile); echo str_replace($_SERVER['DOCUMENT_ROOT'], '', $targetFile); //generowanie miniatury do exifa (jeśli nie ma) $miniatura = new Model_Thumbnail(); $miniatura->generujMiniature($targetFile); } }