w jaki sposób zrobic tworzenie miniaturek np. 40x50px odrazu po wybraniu pliku w FileField??
coś podobnego jest np. podczas ładowania obrazków w allegro

Z góry dzieki za pomoc

Pozdrawiam
<?php function resizeImage($source, $max_x, $max_y, $save_image, $jpeg_quality = 100) { /* * source - obrazek jpeg * max_x - maksymalna szerokosc pomniejszonego obrazka * max_y - maksymalna dlugosc pomniejszonego obrazka * save_image - nazwa pliku do ktorego zostanie zapisany nowy obrazek * jpeg_quality - jakosc powstalego obrazu jpeg - jezeli bedzie inny to argument jest nie wazny (domyslnie 100) */ if(exif_imagetype($source) == IMAGETYPE_JPEG) { $img_src = imagecreatefromjpeg($source); } elseif(exif_imagetype($source) == IMAGETYPE_GIF) { $img_src = imagecreatefromgif($source); } elseif(exif_imagetype($source) == IMAGETYPE_PNG) { $img_src = imagecreatefrompng($source); } else { } $image_x = imagesx($img_src); $image_y = imagesy($img_src); if($image_x > $image_y) // Landscape { $ratio_x = ($image_x > $max_x) ? $max_x/$image_x : 1; $ratio_y = $ratio_x; $move = 'y'; } else // Portrait { $ratio_y = ($image_y > $max_y) ? $max_y/$image_y : 1; $ratio_x = $ratio_y; $move = 'x'; } $new_x = $image_x*$ratio_x; $new_y = $image_y*$ratio_y; $move_x = ($move == \"x\") ? ($max_x-$new_x)/2 : 0; $move_y = ($move == \"y\") ? ($max_y-$new_y)/2 : 0; $new_img = imagecreatetruecolor($max_x, $max_y); $background = imagecolorallocate($new_img, 255, 255, 255); imagefill($new_img, 0, 0, $background); imagecopyresampled($new_img, $img_src, $move_x, $move_y, 0, 0, $new_x, $new_y, $image_x, $image_y); if(exif_imagetype($save_image) == IMAGETYPE_JPEG) { imagejpeg($new_img, $save_image, 100); return true; } elseif(exif_imagetype($save_image) == IMAGETYPE_GIF) { imagegif($new_img, $save_image); return true; } elseif(exif_imagetype($save_image) == IMAGETYPE_PNG) { imagepng($new_img, $save_image); return true; } else { return false; } } ?> # Wykorzystanie if(resizeImage($_FILES['obrazek']['tmp_name'], MAX_WYMIAR_X, MAX_WYMIAR_Y, $_FILES['obrazek']['name'], JAKOSC_JPEG)) { # Pomniejszono obrazek } else { # Nie pomniejszono obrazka }
<?if(resizeImage($_FILES['obrazek']['tmp_name'], 40, 50, $_FILES['obrazek']['name'], 100)) { } else { } ?>
<input name="obrazek" type="file" id="obrazek">
<? if(exif_imagetype($source) == IMAGETYPE_JPEG) { $img_src = imagecreatefromjpeg($source); }?>