Witam, mam taki plik upload.php jak poniżej i mam problem. Gdy chciałem zuploadować obrazek JPG, a $imgType = 'png' to wyskoczył mi taki błąd:
Kod
Fatal error: imagepng() [<a href='function.imagepng'>function.imagepng</a>]: gd-png: fatal libpng error: zlib error in /home/poligrafia1/ftp/helmut/plaza/admin/upload.php on line 80
80 linia to:
<?php
ImagePNG($thumb, "min_posters/$plik_nazwa", 100);
?>
Przypuszczam ze chodzi tutaj o rozszerzenie pliku, plik wgrany został jako JPG i zapisany jako JPG, a w tym przypadku stwarza plik PNG z rozszerzeniem JPG. Jak zrobić by rozbić samą nazwę i rozszerzenie na dwie części?
<?php
include('connection.php');
$connect = mysql_connect(SERWER
,ADMIN
,PASS
) or
die ('Błąd podczas łączenia z bazą MySQL.');
$plik_tmp = $_FILES['plik']['tmp_name'];
$plik_nazwa = $_FILES['plik']['name'];
$plik_rozmiar = $_FILES['plik']['size'];
if($sp[1] == "gif" or $sp[1] == "jpg" or $sp[1] == "png") {
echo "Plik: <strong>$plik_nazwa</strong> o rozmiarze <strong>$plik_rozmiar bajtów</strong> został przesłany na serwer!";
}
else
echo "Nie udało się wysłać pliku <strong>$plik_nazwa</strong> na serwer"; }
else echo "Plik niepoprawny!";
$imgType = $row['type'];
$min_rozmiar = $row['min_rozmiar'];
$rozmiar = $row['rozmiar'];
if ($imgType == 'jpg') {
list
($width_original, $height_original) = GetImageSize("posters/$plik_nazwa");
$image = ImageCreateFromJpeg("posters/$plik_nazwa");
$wymiar_szerokosc = $width_original * ($min_rozmiar/100);
$wymiar_wysokosc = $height_original * ($min_rozmiar/100);
$thumb = ImageCreateTruecolor($wymiar_szerokosc, $wymiar_wysokosc);
ImageCopyResampled($thumb, $image, 0, 0, 0, 0, $wymiar_szerokosc, $wymiar_wysokosc, $width_original, $height_original);
ImageJPEG($thumb, "min_posters/$plik_nazwa", 100);
$rozmiar_szerokosc = $width_original * ($rozmiar/100);
$rozmiar_wysokosc = $height_original * ($rozmiar/100);
$huge = ImageCreateTruecolor($rozmiar_szerokosc, $rozmiar_wysokosc);
ImageCopyResampled($huge, $image, 0, 0, 0, 0, $rozmiar_szerokosc, $rozmiar_wysokosc, $width_original, $height_original);
ImageJPEG($huge, "max_posters/$plik_nazwa", 80);
}
elseif ($imgType == 'png') {
list
($width_original, $height_original) = GetImageSize("posters/$plik_nazwa");
$image = ImageCreateFromJpeg("posters/$plik_nazwa");
$wymiar_szerokosc = $width_original * ($min_rozmiar/100);
$wymiar_wysokosc = $height_original * ($min_rozmiar/100);
$thumb = ImageCreateTruecolor($wymiar_szerokosc, $wymiar_wysokosc);
ImageCopyResampled($thumb, $image, 0, 0, 0, 0, $wymiar_szerokosc, $wymiar_wysokosc, $width_original, $height_original);
ImagePNG($thumb, "min_posters/$plik_nazwa", 100);
$rozmiar_szerokosc = $width_original * ($rozmiar/100);
$rozmiar_wysokosc = $height_original * ($rozmiar/100);
$huge = ImageCreateTruecolor($rozmiar_szerokosc, $rozmiar_wysokosc);
ImageCopyResampled($huge, $image, 0, 0, 0, 0, $rozmiar_szerokosc, $rozmiar_wysokosc, $width_original, $height_original);
ImagePNG($huge, "max_posters/$plik_nazwa", 80);
}
elseif ($imgType == 'gif') {
list
($width_original, $height_original) = GetImageSize("posters/$plik_nazwa");
$image = ImageCreateFromJpeg("posters/$plik_nazwa");
$wymiar_szerokosc = $width_original * ($min_rozmiar/100);
$wymiar_wysokosc = $height_original * ($min_rozmiar/100);
$thumb = ImageCreateTruecolor($wymiar_szerokosc, $wymiar_wysokosc);
ImageCopyResampled($thumb, $image, 0, 0, 0, 0, $wymiar_szerokosc, $wymiar_wysokosc, $width_original, $height_original);
ImageGIF($thumb, "min_posters/$plik_nazwa", 100);
$rozmiar_szerokosc = $width_original * ($rozmiar/100);
$rozmiar_wysokosc = $height_original * ($rozmiar/100);
$huge = ImageCreateTruecolor($rozmiar_szerokosc, $rozmiar_wysokosc);
ImageCopyResampled($huge, $image, 0, 0, 0, 0, $rozmiar_szerokosc, $rozmiar_wysokosc, $width_original, $height_original);
ImageGIF($huge, "max_posters/$plik_nazwa", 80);
}
echo '<br /><br /><a href="admin.php">Wróć</a>'; ?>