// zdjecia
$nazwa_zdj[] = ''; //ind 0
for ($i=1; $i<6;$i++) {
$zdj = 'zdj' . $i;
$nazwa_zdj[] = '';
if (isset($_FILES[$zdj]) && ($_FILES[$zdj]['tmp_name'] != '') ) {
// POCZĽTEK
//Wymiary maksymalne fotografii
//define("SZEROKOSC_MINI",80);
define("MINI_PATH",'../images/min/'); define("MAXI_PATH",'../images/max/'); //Nazwa pliku z fotką i pliku tymczasowego
$foto_nazwa = date('U').$_FILES[$zdj]["name"]; $foto_tmp_nazwa = $_FILES[$zdj]["tmp_name"];
$nazwa_zdj[$i] = $foto_nazwa;
//Sprawdzenie wymiarów obrazka
//Jesli obrazek jest poziomy i za szeroki, to jest skalowany
if (($wymiary[0] > $wymiary[1]) && ($wymiary[0] > SZEROKOSC)) {
//Jeśli obrazek jest zbyt szeroki, to ustalamy przelicznik, o jaki będą zmniejszane jego wymiary
$przelicznik = SZEROKOSC / $wymiary[0];
$przelicznik_mini = WYSOKOSC_MINI / $wymiary[1];
//Tworzenie nowego obrazka na podstawie pliku przesłanego na serwer
$zrodlowy = imagecreatefromjpeg($foto_tmp_nazwa);
$docelowy = imagecreatetruecolor($wymiary[0] * $przelicznik, $wymiary[1] * $przelicznik);
$miniaturka = imagecreatetruecolor($wymiary[0] * $przelicznik_mini, WYSOKOSC_MINI);
//Skalowanie przesłanego obrazka do maksymalnego dopuszczalnego rozmiaru
imagecopyresized($docelowy, $zrodlowy, 0, 0, 0, 0, SZEROKOSC, $wymiary[1] * $przelicznik, $wymiary[0], $wymiary[1]);
//Skalowanie do rozmiaru miniaturki
imagecopyresized($miniaturka,$zrodlowy,0, 0, 0, 0, $wymiary[0] * $przelicznik_mini, WYSOKOSC_MINI, $wymiary[0], $wymiary[1]);
//Generowanie ostatecznego obrazka i miniaturki i - jesli zakonczone powodzeniem - wpis do bazy danych
/* ZMIANY - dodałam jakoć poniżej stara linijka; domylna jakoć to 75, czyli 75%
if (imagejpeg($docelowy,MAXI_PATH.$foto_nazwa) && imagejpeg($miniaturka,MINI_PATH.$foto_nazwa)) {
*/
imagejpeg($docelowy,MAXI_PATH.$foto_nazwa,100);
imagejpeg($miniaturka,MINI_PATH.$foto_nazwa,100);
//Zwolnienie pamięci i usunięcie obrazka
imagedestroy($docelowy);
imagedestroy($miniaturka);
} elseif (($wymiary[0] < $wymiary[1] || $wymiary[0] == $wymiary[1]) && $wymiary[1] > WYSOKOSC) {
//Teraz skalowanie fotografii pionowej i za wysokiej
//Ustalenie przelicznika tez na podstawie większego wymiaru
$przelicznik = WYSOKOSC / $wymiary[1];
$przelicznik_mini = WYSOKOSC_MINI / $wymiary[1];
//Tworzenie nowego obrazka na podstawie pliku przesłanego na serwer
$zrodlowy = imagecreatefromjpeg($foto_tmp_nazwa);
$docelowy = imagecreatetruecolor($wymiary[0] * $przelicznik, $wymiary[1] * $przelicznik);
$miniaturka = imagecreatetruecolor($wymiary[0] * $przelicznik_mini, WYSOKOSC_MINI);
//Skalowanie przesłanego obrazka do maksymalnego dopuszczalnego rozmiaru
imagecopyresized($docelowy, $zrodlowy, 0, 0, 0, 0, $wymiary[0] * $przelicznik, WYSOKOSC, $wymiary[0], $wymiary[1]);
//Skalowanie do rozmiaru miniaturki
imagecopyresized($miniaturka,$zrodlowy,0, 0, 0, 0, $wymiary[0] * $przelicznik_mini, WYSOKOSC_MINI, $wymiary[0], $wymiary[1]);
//Generowanie ostatecznego obrazka i miniaturki i - jesli zakonczone powodzeniem - wpis do bazy danych
/* ZMIANY - dodałam jakoć poniżej stara linijka
if (imagejpeg($docelowy,MAXI_PATH.$foto_nazwa) && imagejpeg($miniaturka,MINI_PATH.$foto_nazwa)) {
*/
imagejpeg($docelowy,MAXI_PATH.$foto_nazwa,100);
imagejpeg($miniaturka,MINI_PATH.$foto_nazwa,100);
//Zwolnienie pamięci i usunięcie obrazka
imagedestroy($docelowy);
imagedestroy($miniaturka);
} elseif ($wymiary[0] > $wymiary[1]) {
//Jesli obrazek nie jest za duzy, a jest poziomy, to tworzymy miniaturkę
//Ustalanie przelicznika
$przelicznik = WYSOKOSC_MINI / $wymiary[1];
//Tworzenie nowego obrazka na podstawie obrazka przesłanego na serwer
$zrodlowy = imagecreatefromjpeg($foto_tmp_nazwa);
//Tworzenie kontenera na miniaturkę
$miniaturka = imagecreatetruecolor($wymiary[0] * $przelicznik, WYSOKOSC_MINI);
//Skalowanie obrazka do rozmiary miniaturki
imagecopyresized($miniaturka,$zrodlowy,0, 0, 0, 0, $wymiary[0] * $przelicznik, WYSOKOSC_MINI, $wymiary[0], $wymiary[1]);
//Zapisywanie obrazka na dysk i - w razie powodzenia - wpis do bazy danych
/* ZMIANY - dodałam jakoć poniżej stara linijka
if (imagejpeg($miniaturka, MINI_PATH.$foto_nazwa) && move_uploaded_file($foto_tmp_nazwa, MAXI_PATH.$foto_nazwa)) {
*/
imagejpeg($docelowy,MAXI_PATH.$foto_nazwa,100);
imagejpeg($miniaturka,MINI_PATH.$foto_nazwa,100);
imagedestroy($miniaturka);
} elseif ($wymiary[0] < $wymiary[1] || $wymiary[0] == $wymiary[1]) {
//Jesli obrazek nie jest za duży, a jest pionowy, to tworzymy miniaturkę
//Ustalenie przelicznika
$przelicznik = WYSOKOSC_MINI / $wymiary[1];
//Tworzenie nowego obrazka na podstawie tego przesłanego na serwer
$zrodlowy = imagecreatefromjpeg($foto_tmp_nazwa);
//Tworzenie kontenera na miniaturkę
$miniaturka = imagecreatetruecolor($wymiary[0] * $przelicznik, WYSOKOSC_MINI);
//Skalowanie obrazka do rozmiaru miniaturki
imagecopyresized($miniaturka,$zrodlowy,0, 0, 0, 0, $wymiary[0] * $przelicznik, WYSOKOSC_MINI, $wymiary[0], $wymiary[1]);
//Zapisywanie obrazka na dysk i - w razie powodzenia - wpis do bazy danych
/* ZMIANY - dodałam jakoć poniżej stara linijka
if (imagejpeg($miniaturka, MINI_PATH.$foto_nazwa) && move_uploaded_file($foto_tmp_nazwa, MAXI_PATH.$foto_nazwa)) {
*/
imagejpeg($docelowy,MAXI_PATH.$foto_nazwa,100);
imagejpeg($miniaturka,MINI_PATH.$foto_nazwa,100);
imagedestroy($miniaturka);
}
// KONIEC
}
}