Bir örnek hazırladım Can , kendine göre düzenlersen kullanabilirsin .
<?php
	
	if( $_FILES ){
		$dosya = pathinfo($_FILES['dosya']['name']);
		$tmp   = $_FILES['dosya']['tmp_name'];
		
		$i = 0;
		while( file_exists($dosya['basename']) ){
			$i++;
			$dosya['basename'] = sprintf('%s_%u.%s' , $dosya['filename'] , $i , $dosya['extension']);
		}
		
		echo $dosya['basename'];
		move_uploaded_file( $tmp , $dosya['basename'] );
	}

?>

<form action="" method="post" enctype="multipart/form-data">
	<input type="file" name="dosya"/>
	<input type="submit" value="yükle"/>
</form>