If you don't specify <form … enctype="multipart/form-data"> then the data will be encoded in a way that doesn't support files.
Add the attribute with that value.
From the HTML specification:
enctype = content-type [CI]
This attribute specifies the content type used to submit the form to the server (when the value of method is "post"). The default value for this attribute is "application/x-www-form-urlencoded". The value "multipart/form-data" should be used in combination with the INPUT element, type="file".
From the PHP manual:
<!-- The data encoding type, enctype, MUST be specified as below -->
<form enctype="multipart/form-data" action="__URL__" method="POST">