Mam taki skrypt:
function upload_obrazka_miniaturka($file, $filetemp, $path, $newname, $wymiar) { if ($file != "") { if ($filetemp != "") { ////////////////////////////////// if (preg_match("/php/", $file) || preg_match("/Php/", $file) || preg_match("/PHp/", $file) || preg_match("/PHP/", $file) || preg_match("/pHP/", $file) || preg_match("/phP/", $file) || preg_match("/pHp/", $file)) { return "Błędny plik - Proszę wybrać inny"; } if ($sizette['mime'] != "image/jpeg" && $sizette['mime'] != "image/jpg" && $sizette['mime'] != "image/png") { return "Błędny plik - Proszę wybrać inny"; } if ($rozm > 500000000) { return "Plik za duży- Proszę wybrać inny"; } ////////////////////////////////// //Przypisujemy do zmiennej $img_path ścieżke do obrazka $img_path = $path . "/" . $newname; //Tworzymy scieżkę do miniaturki $thumb_path = $path . "/mini_" . $nazwaobrazka['0'] . '.' . $nazwaobrazka['1']; //ustalamy maksymalny dopuszczalny rozmiar miniatury $max_width = $max_height = $wymiar; //Sprawdzamy czy obraz istnieje //if (!file_exists($img_path)) // die('Plik obrazu nie istnieje'); //Pobieramy informacjie o obrazie //Sprawdzamy czy obraz jest wiekszy na szerokość czy na wysokość // i zmniejszamy odpowiednio rozmiar // $img_attr[0] - szerokosc, $img_attr[1] - wysokość if ($img_attr[0] > $img_attr[1]) { $scale = $img_attr[0] / $max_width; } else { $scale = $img_attr[1] / $max_height; } //Tworzymy obraz miniaturki $thumb = imagecreatetruecolor($w, $h); //Kopiujemy obraz pomniejszajac go, imagecopyresampled($thumb, imagecreatefromjpeg($img_path), 0, 0, 0, 0, $w, $h, $img_attr[0], $img_attr[1]); if($nazwaobrazka['1'] == "jpg" || $nazwaobrazka['1'] == "jpeg"){ //Kopiujemy obraz pomniejszajac go, imagecopyresampled($thumb, imagecreatefromjpeg($img_path), 0, 0, 0, 0, $w, $h, $img_attr[0], $img_attr[1]); //Zapisujemy do pliku (jakość 75) imagejpeg($thumb, $thumb_path, 75); } if($nazwaobrazka['1'] == "png"){ imagealphablending($thumb,false); $color=imagecolorallocatealpha($thumb,0,0,0,127); imagefill($thumb,0,0,$color); imagesavealpha($thumb,true); //Kopiujemy obraz pomniejszajac go, imagecopyresampled($thumb, imagecreatefrompng($img_path), 0, 0, 0, 0, $w, $h, $img_attr[0], $img_attr[1]); //Zapisujemy do pliku (jakość 75) imagepng($thumb, $thumb_path, 7); } ///////////////// //Przypisujemy do zmiennej $img_path ścieżke do obrazka $img_path = $path . "/" . $newname; //Tworzymy scieżkę do miniaturki $thumb_path = $path . "" . $nazwaobrazka['0'] . '.' . $nazwaobrazka['1']; //ustalamy maksymalny dopuszczalny rozmiar miniatury $max_width = $max_height = 1024; //Sprawdzamy czy obraz istnieje //if (!file_exists($img_path)) // die('Plik obrazu nie istnieje'); //Pobieramy informacjie o obrazie //Sprawdzamy czy obraz jest wiekszy na szerokość czy na wysokość // i zmniejszamy odpowiednio rozmiar // $img_attr[0] - szerokosc, $img_attr[1] - wysokość if ($img_attr[0] > $img_attr[1]) { $scale = $img_attr[0] / $max_width; } else { $scale = $img_attr[1] / $max_height; } //Tworzymy obraz miniaturki $thumb = imagecreatetruecolor($w, $h); if($nazwaobrazka['1'] == "jpg" || $nazwaobrazka['1'] == "jpeg"){ //Kopiujemy obraz pomniejszajac go, imagecopyresampled($thumb, imagecreatefromjpeg($img_path), 0, 0, 0, 0, $w, $h, $img_attr[0], $img_attr[1]); //Zapisujemy do pliku (jakość 75) imagejpeg($thumb, $thumb_path, 90); } if($nazwaobrazka['1'] == "png"){ imagealphablending($thumb,false); $color=imagecolorallocatealpha($thumb,0,0,0,127); imagefill($thumb,0,0,$color); imagesavealpha($thumb,true); //Kopiujemy obraz pomniejszajac go, imagecopyresampled($thumb, imagecreatefrompng($img_path), 0, 0, 0, 0, $w, $h, $img_attr[0], $img_attr[1]); //Zapisujemy do pliku (jakość 75) imagepng($thumb, $thumb_path, 7); } return $img_path; } else { } } } }
Wszystko działa w nim poprawnie, jednak w przypadku niektórych zdjęć PIONOWYCH - automatycznie obraca je na POZIOME.
Wie ktoś może dlaczego?