Mam taki skrypt do generowania miniaturek plików graficznych:
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Ę SPRÓBOWAĆ PONOWNIE!!"; } if($sizette['mime'] != "image/jpeg" && $sizette['mime'] != "image/jpg" && $sizette['mime'] != "image/png" && $sizette['mime'] != "image/png"){ return "BŁĘDNY PLIK - PROSZĘ SPRÓBOWAĆ PONOWNIE!!"; } if($rozm > 2500000){ return "PLIK ZA DUŻY- PROSZĘ SPRÓBOWAĆ PONOWNIE!!"; } ////////////////////////////////// //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); 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ść 85) imagejpeg($thumb, $thumb_path, 85); } ///////////////// if($nazwaobrazka['1'] == "png"){ //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ść 85) imagepng($thumb, $thumb_path, 85); } //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 = 800; //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ść 85) imagejpeg($thumb, $thumb_path, 85); } if($nazwaobrazka['1'] == "png"){ //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ść 85) imagepng($thumb, $thumb_path, 85); } ///////////////// return $img_path; } else { } } } }
Ale nie generuje mi miniaturki.... Wie ktoś może dlaczego?
Pliki jpg generuje poprawnie - problem jest tylko z PNG.
Bardzo proszę o pomoc,
Northwest