Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /.../ on line 53
Oto kod:
CODE
<?
// tworzenie krotkich nazw zmiennych
$plik_tmp = $_FILES['plik']['tmp_name'];
$plik_nazwa = $_FILES['plik']['name'];
$plik_rozmiar = $_FILES['plik']['size'];
$plik_typ = $_FILES['plik']['type'];
$katalog = $_POST['katalog'];
$plik = $_POST['plik'];
// nowe katalogi
@ mkdir('images/galeria/'.$katalog, 0777);
@ mkdir('images/galeria/'.$katalog.'/mini', 0777);
$plik_nazwa = $katalog.rand(0,99999999).'.jpeg';
// upload na serwer
{
if(!file_exists($plik_nazwa))
{
if(is_uploaded_file($plik_tmp))
{
$album = 'images/galeria/'.$katalog;
move_uploaded_file($plik_tmp, 'images/galeria/tmp/'.$plik_nazwa);
$mode = '777';
$filename = 'images/galeria/tmp/'.$plik_nazwa;
$mode_dec = octdec($mode);
chmod($filename, $mode_dec);
$obraz1 = $filename;
$obraz = imagecreatefromjpeg("$plik");
list($aheight, $awidth) = getimagesize("$filename"); // odczytywanie wielkosci obrazka
if ( $aheight > 800 || $awidth > 600 )
{
if ($aheight > 800)
{
$nheight = 800;
$nwidth = ceil($nheight * ($aheight / $awidth));
}
elseif ($awidth > 600)
{
$nwidth = 600;
$nheight = ceil($nwidth * ($awidth / $aheight));
}
$obraz2 = imagecreatetruecolor( $nwidth, $nheight );
$background = imagecolorallocate($obraz2, 255, 255, 255);
imagefill($obraz2, 0, 0, $background);
imagecopyresampled( $obraz2, $obraz, 0, 0, 0, 0, $nwidth, $nheigth, $awidth, $aheight );
$awidth = $nwidth;
$aheight = $nheight;
}
else
{
$nwidth = $awidth;
$nheight = $aheight;
}
if ( $nwidth/$nheight > $nheight/$nwidth )
{ // poziomo
$mwidth = 120;
$mheight = 90;
$obraz_mini = imagecreatetruecolor( $mwidth, $mheight );
imagecopyresampled( $obraz_mini, $obraz2, 0, 0, 0, 0, $mwidth, $mheight, $awidth, $aheight );
}else
{ // pionowo
$mwidth = 90;
$mheight = 120;
$obraz_mini = imagecreatetruecolor( $mwidth, $mheight );
imagecopyresampled( $obraz_mini, $obraz2, 0, 0, 0, 0, $mwidth, $mheight, $awidth, $aheight );
}
// zapis
$plk = fopen ('images/galeria/'.$plik_nazwa, "w");
ob_start();
imagejpeg( $obraz2, 'images/galeria/'.$plik_nazwa, 100 );
fwrite($plk, ob_get_contents());
ob_end_clean();
fclose($plk);
$plk1 = fopen ('images/galeria/mini_'.$plik_nazwa, "w");
ob_start();
imagejpeg( $obraz_mini,'images/galeria/mini_'.$plik_nazwa, 100 );
fwrite($plk1, ob_get_contents());
ob_end_clean();
fclose($plk1);
}
else
{
echo 'Problem: Plik nie moze byc skopiowany do katalogu';
exit;
}
}
else echo 'Plik o takiej nazwie istnieje';
}
?>
Prosze o zerkniecie na kod oraz o propozycje zmian aby to w koncu zaczelo dzialac bo mecze sie z tym juz dobrych kilka dni.