Witam serdecznie,
Mam taki skrypt do generowania miniaturek plików graficznych:
function upload_obrazka_miniaturka($file, $filetemp, $path, $newname, $wymiar) {
if ($file != "") {
if ($filetemp != "") {
if (is_uploaded_file($filetemp)) {
move_uploaded_file($filetemp, $path . "/" . $newname);
//////////////////////////////////
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)) {
unlink($path . "/" . $newname);
return "BŁĘDNY PLIK - PROSZĘ SPRÓBOWAĆ PONOWNIE!!";
exit();
}
$sizette = getimagesize($path . "/" . $newname);
if($sizette['mime'] != "image/jpeg" && $sizette['mime'] != "image/jpg" && $sizette['mime'] != "image/png" && $sizette['mime'] != "image/png"){
unlink($path . "/" . $newname);
return "BŁĘDNY PLIK - PROSZĘ SPRÓBOWAĆ PONOWNIE!!";
exit();
}
$rozm = filesize($path . "/" . $newname);
if($rozm > 2500000){
unlink($path . "/" . $newname);
return "PLIK ZA DUŻY- PROSZĘ SPRÓBOWAĆ PONOWNIE!!";
exit();
}
//////////////////////////////////
$file = strtolower($file);
$nazwaobrazka = explode('.', $newname);
//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
$img_attr = getimagesize($img_path);
//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
$w = floor($img_attr[0] / $scale);
$h = floor($img_attr[1] / $scale);
$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);
}
$nazwaobrazka = explode('.', $newname);
//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
$img_attr = getimagesize($img_path);
//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
$w = floor($img_attr[0] / $scale);
$h = floor($img_attr[1] / $scale);
$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 {
echo"<center><b>Nie można dodać pliku!!</b> Błąd: " . $file . " </center> <br/>";
}
}
}
}
Ale nie generuje mi miniaturki… Wie ktoś może dlaczego?
Pliki jpg generuje poprawnie - problem jest tylko z PNG.
Bardzo proszę o pomoc,
Northwest