mam taki problem - znalazlem gotowy skrypcik do uploadu obrazków i tworzenia miniatur ale jestem troche zielony jeszcze w tych sprawach a potrzebuje dorobić do niego pare rzeczy :
1. jako ze plik to tylko jeden z wielu elementów formularza to jesli ktos nie wybierze zadnego pliku to poprosu skrypt sie nie bedzie wykonywal (bo aktualnie wyskakuje blad division by zero)
2. potrzebuje zmieniac nazwy pliku (obrazka) upload'owanego na jakas generowana (np. oryginalna nazwa pliku + jakas liczba generowana z zakresu 1000-9999) i ladowac ja do bazy w pole 'img'.
a to jest ten skrypt:
<?php
$uploaddir = 'obrazki/';
if ($parametry[0] >=1 || $parametry[1] >= 1) {
if ($parametry[0] > 1024 || $parametry[1] > 768) {
echo 'Obrazek za duży!<br>'; echo '<a href="javascript:history.back();">Wstecz</a>' ; }
chmod($uploaddir.$file, 0644);
echo 'Plik został załadowany poprawnie <br><br>'; echo '<img src="obrazki/'.$file.'"> <br><br>'; }
else {
echo 'Bł±d podczas uploadowania obrazka.'; }
$imagefile=$file; //przykładowo
$width=$info[0];
$height=$info[1];
echo("$width - szer, $height - wys<br>"); $type=$info['mime'];
if($width>$height)
{
$newwidth=150;
$newheight=($height*$newwidth)/$width;
echo("$newwidth - szer, $newheight - wys<br>"); $newheight = round($newheight); echo("$newwidth - szer, $newheight - wys<br>"); }
if($width<=$height)
{
$newheight=113;
$newwidth=($width*$newheight)/$height;
echo("$newwidth - szer, $newheight - wys<br>"); $newwidth = round($newwidth); echo("$newwidth - szer, $newheight - wys<br>"); }
//$newwidth=130; //przykładowo
//$newheight=130; //przykładowo
switch($type)
{
case 'image/jpeg':
$image=imagecreatefromjpeg("obrazki/".$imagefile);
break;
case 'image/png':
$image=imagecreatefrompng("obrazki/".$imagefile);
break;
case 'image/gif':
$image=imagecreatefromgif("obrazki/".$imagefile);
break;
default:
die("Niepoprawny format pliku obrazu!"); }
$thumb=imagecreatetruecolor($newwidth, $newheight);
imagecopyresampled($thumb, $image, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
$thumbfile="obrazki/"."thumb_".$imagefile; //przykładowo
switch($type)
{
case 'image/jpeg':
imagejpeg($thumb, $thumbfile);
break;
case 'image/png':
imagepng($thumb, $thumbfile);
break;
case 'image/gif':
imagegif($thumb, $thumbfile);
break;
}
echo '<br><img src="'.$thumbfile.'"> <br><br>';
$file = $_FILES['plik']['name'];
$file2 = $_FILES['plik']['tmp_name'];
?>