If $_FILES is always empty, check the method of your form.
It should be POST. Default method of a form is GET.
<form action="myaction.php">
<input type="file" name"userfile">
</form>
File will not be uploaded as default method of the form is GET.
<form action="myaction.php" method="POST">
<input type="file" name"userfile">
</form>
Files will be uploaded and $_FILES will be populated.