napisałem funkcję, która skaluje zdjęcia
function resizeImg( $plik, $extension, $height ) { $szerokosc = $rozmiar[0]; $wysokosc = $rozmiar[1]; $nowa_wysokosc = $height; $nowa_szerokosc = $szerokosc * ( $nowa_wysokosc / $wysokosc ); switch( $extension ) { case 'jpg': $oryginal = imageCreateFromJpeg( $plik ); break; case 'JPG': $oryginal = imageCreateFromJpeg( $plik ); break; case 'jpeg': $oryginal = imageCreateFromJpeg( $plik ); break; case 'JPEG': $oryginal = imageCreateFromJpeg( $plik ); break; case 'gif': $oryginal = imageCreateFromGif( $plik ); break; case 'GIF': $oryginal = imageCreateFromGif( $plik ); break; case 'png': $oryginal = imageCreateFromPng( $plik ); break; case 'PNG': $oryginal = imageCreateFromPng( $plik ); break; } $obrazek = ImageCreateTrueColor( $nowa_szerokosc, $nowa_wysokosc ); ImageCopyResized( $obrazek, $oryginal, 0, 0, 0, 0, $nowa_szerokosc, $nowa_wysokosc, $szerokosc, $wysokosc ); ImageJPEG( $obrazek, $plik ); }
i uploaduje zdjęcia tak używając powyższej funkcji
foreach ( $_FILES['myFile']['error'] as $key => $error ) { if ( $error == UPLOAD_ERR_OK ) { $tmp_name = $_FILES['myFile']['tmp_name'][$key]; $fileName = $_FILES['myFile']['name'][$key]; { exit; } { { print 'Wgranie pliku <b>' . $fileName . '</b> - <font style="color: green; font-weight: bold;">Success!</font><br />'; resizeImg( 'galleries/' . $fileName, $fileExtension, 500 ); resizeImg( 'galleries/minis/mini_' . $fileName, $fileExtension, 98 ); include('../db/querries.php'); connect( $INSERT_PHOTOS ); // do sprawdzenia czy kosi } else { print 'Wgranie pliku <b>' . $fileName . '</b> - <font style="color: #b02329; font-weight: bold;">Error - plik o takiej nazwie już istnieje!</font><br />'; } } }
problem w tym, że np. wgrywane fotki sa 1024-768 skaluje na wysokość 500 lub 98 tracę jakość zdjęcia a miniatury to już napewno