Formularz:
<form enctype="multipart/form-data" action="load01.php" method="POST"> <input name="uploadfile" type="file" /> <input name="nazwa" type="text" /> <input type="submit" value="Wyślij plik" />
Kod uploadera:
<?php
header('Content-type: image/jpeg');
$nowa_nazwa = "".$nazwa.".jpg";
$nowa_nazwas = "".$nazwa."s.jpg";
{
//error: gdyby nie podano zadnego pliku do uploadu
$error = "Nie podales zadnego pliku!";
unlink($_FILES['uploadfile']['tmp_name']); }
else
{
//plik zostal upload''owany
$maxfilesize=300000;
if ($_FILES['uploadfile']['size'] > $maxfilesize)
{
//error: gdyby plik byl za duzy (3MB)
$error = "Plik za duzo zajmuje!";
unlink($_FILES['uploadfile']['tmp_name']); }
else
{
//gdyby plik byl za duzy pomniejszamy go i robimy miniaturke
if($width > 700 || $height > 900)
{
//skalujemy duzy obrazek
scaling($_FILES['uploadfile']['tmp_name'], $nowa_nazwa, 640, 100);
//robimy miniaturke
scaling($_FILES['uploadfile']['tmp_name'], $nowa_nazwas, 100, 50);
}
else
{
//plik spelnia warunki wielkosci wiec go wgrywamy na serwer
$pliczek = $_FILES['uploadfile']['tmp_name'];
copy($pliczek,$nowa_nazwa);
//robimy miniaturke
scaling($pliczek, $nowa_nazwas, 100, 50);
print "Plik zostal wgrany prawidlowo!"; }
}
}
//pozbywamy sie uchwytu
unlink($_FILES['uploadfile']['tmp_name']);
//funkcjia do skalowania, przyjmuje uchwyt do pliku, nazwe do pliku i szerokosc zd
jecia
function scaling($filename , $nazwa, $rozmiar, $jakosc)
{
//tworzy nowy obrazek zeby mozna bylo skalowac
$image = imagecreatefromjpeg($filename);
//pobieramy gabaryty oryginalnego zdjecia
//ustawiamy nowe parametry szerokosci i wysokosci
$nowa_height = ($height/$width)*$rozmiar;
$new_width = $rozmiar;
$new_height = $nowa_height;
//tworzymy nowy obrazek
$image_p = imagecreatetruecolor($new_width, $new_height);
//funkcja ktora pod nowy obrazek wstawia ten stary tylko ze zeskalowany
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
//zapisanie nowego pliku o okreslonej nazwie i jakosci
imagejpeg($image_p, $nazwa, $jakosc);
//zniszczenie niepotrzebnych zmiennych
imagedestroy($image_p);
imagedestroy($image);
}
?>