ti posto un pò di codice..
ho usato quel tutorial un pò di tempo fa..
P.s.: Sono un pivellino in php..potrebbero esserci errori sulla gestione delle variabili... 
Per il nome del file ho usato questo:
codice:
function nomefile($uploaddir, $filename){
$file = explode(".", $filename);
$path=$uploaddir.$filename;
for($i=0; (file_exists($path)); $i++){
$path=$uploaddir.$file[0].$i.".".$file[1];
}
$filename=$path;
return $filename;
}
Ilnome lo prendo da qui... spero possa esserti utile..anche se è incasinato fino alla morte 
codice:
$uploaddir = '../public/big/';
//print "<pre>";
$filename=nomefile($uploaddir, $_FILES['file']['name'] );
$file2 = substr($filename,14);
$file_ex = explode(".",$file2);
$newfile = $file_ex[0];
echo "
Indirizzo immagine piccola: " . $file2 . "
Indirizzo immagine grande: " . $file2;
$indirizzo_small = "public/small/" . $file2;
$indirizzo_big = "public/big/" . $file2;