Wprawdzie nie wiem jakie zrobiłeś błędy powyżej oprócz kilku literówek ;P ale tu masz skrypt który napisałem
<form accept="image/jpeg, image/gif, image/png" accept-charset="iso-8859-2" action="?" enctype="multipart/form-data" method="POST" target="_self">
wysokość: <input type="text" name="wysokosc" value="100" maxlength="4"><br>
szerokość: <input type="text" name="szerokosc" value="100" maxlength="4"><br>
<input type="file" name="zdjecie"><br>
<input type="submit">
</form>
<?PHP
{ // plik został przesłany na serwer
// zmienne wykorzystane w skrypcie
$ext = false; // przechowuje rozszeżenie jeśli wartość = false plik ma zły format
// sprawdzanie przeslanych danych
$wysokosc = sprintf('%d', $_POST['wysokosc']); // zamiana na liczbe dziesiętną $szerokosc = sprintf('%d', $_POST['szerokosc']); // sprawdzenie typu przesłanego zdjęcia
if(eregi('(jpg|jpeg|JPG|JPEG)', $_FILES['zdjecie']['type'])) $ext = "jpg"; if(eregi('(gif|GIF)', $_FILES['zdjecie']['type'])) $ext = "gif"; if(eregi('(png|PNG)', $_FILES['zdjecie']['type'])) $ext = "png"; if($ext && $wysokosc && $szerokosc)
{// przeslane dane są prawidłowe skrypt jednak nie sprawdza rozmiaru pliku
do // wygenerowanie nowej nazwy pliku
{ // wraz z liczbą losową (od 0 do 9999) w celu zapobiegnięcia powtórzeń
$nazwa_zdjecia = ereg_replace(".(.){3,4}$", "_".rand(0,9999).".".$ext, $_FILES['zdjecie']['name']); }while(file_exists("galeria/".$nazwa_zdjecia)); // dopuki nazwa nie będzie orginalna // skopiowanie i
// zmiana wymiarów zdjęcia
// zmienia rozmiar na wpisane w formularzu
$img = zmien_rozmiar($_FILES['zdjecie']['tmp_name'], $wysokosc, $szerokosc, $ext);
// podgląd obrazka max 100x100
$small = zmien_rozmiar($_FILES['zdjecie']['tmp_name'], 100, 100, $ext);
if($img && $small)
{
switch ($ext)
{
case 'jpg':
ImageJPEG($img, "galeria/".$nazwa_zdjecia);
ImageJPEG($small, "galeria/small_".$nazwa_zdjecia);
break;
case 'png':
ImagePNG($img, "galeria/".$nazwa_zdjecia);
ImagePNG($small, "galeria/small_".$nazwa_zdjecia);
break;
case 'gif':
ImageGIF($img, "galeria/".$nazwa_zdjecia);
ImageGIF($small, "galeria/small_".$nazwa_zdjecia);
break;
}
require("polaczenie.php");
connection();
//dodaje nazwę pliku do bazy danych
// według mnie wystarczy zapisać tylko $nazwa_zdjecia i dodawać 'galeria/' i 'galeria/small_'
$sql1 = mysql_query("INSERT INTO id SET fotka1='galeria/".$nazwa_zdjecia."', miniaturka='galeria/small_".$nazwa_zdjecia."'"); }
}
else
{ // przesłane dane są nieprawidłowe
echo "Przesłane dane są nieprawidłowe.<br>"; if(!$ext) echo "Plik ma niewłaściwy format.<br>"; if(!$wysokosc) echo "Wysokość ma niewłaściwy format.<br>"; if(!$szerokosc) echo "Szerokość ma niewłaściwy format"; }
}
/*
* funkcja zmienia rozmiar pliku zapisanego na dysku
* do podanej wysokosci i szerokosci z zachowaniem proporcji
* wymaga też podania typu pliku (jpg, gif, png)
* zwraca nowy obraz
*/
function zmien_rozmiar($zdjecie, $wysokosc, $szerokosc, $ext)
{
if($ext == 'jpg')
{
if (imagetypes() & IMG_JPG)
{
$img = ImageCreateFromJPEG($zdjecie);
}
else return false; // brak obsługi plików jpg
}
else if($ext == 'gif')
{
if (imagetypes() & IMG_GIF)
{
$img = ImageCreateFromGIF($zdjecie);
}
else return false; // brak obsługi plików gif
}
else if($ext == 'png')
{
if (imagetypes() & IMG_PNG)
{
$img = ImageCreateFromPNG($zdjecie);
}
else return false; // brak obsługi plików png
}
else
{
echo "Zarządano zmiany rozmiaru pliku nieznanego formatu.<BR>"; return false;
}
// pobranie proporcji zdjęcia
if($or_szerokosc>$or_wysokosc) // zdjecie szerokie
{ // szerokość nowego obrazka bez zmian tak jak podano na wejsciu funkcji
// wyliczanie nowej wysokości z uwzględnieniem proporcji
$wysokosc = round(($or_wysokosc / $or_szerokosc) * $wysokosc); }
else
{ // zdjęcie wysokie
$szerokosc = round(($or_szerokosc / $or_wysokosc) * $szerokosc); }
// tworzy nowy obraz o szerokości i wysokości wyliczonej na początku funkcji
$new_img = ImageCreateTrueColor($szerokosc, $wysokosc);
// zmiana rozmiaru
ImageCopyResampled($new_img, $img, 0,0,0,0, $szerokosc, $wysokosc, $or_szerokosc, $or_wysokosc);
return $new_img;
}
?>