Basado en los códigos de error es mucho más fácil determinar si el archivo se subió correctamente o no:
0 = OK, se subió un archivo y llegó correctamente
1, 2, 3 = No recuerdo
4 = El usuario no seleccionó archivo
5+ = No recuerdo, consulta la lista en:
http://php.net/manual/es/features.fi...oad.errors.php
Luego, el contenido de type no es confiable, veamos:
Cita:
Iniciado por Manual de PHP $_FILES['userfile']['type']
El tipo mime del archivo,
si el navegador proporciona esta información. Un ejemplo podría ser "image/gif".
Este tipo mime, sin embargo no se verifica en el lado de PHP y por lo tanto no se garantiza su valor.
Más info en:
http://php.net/manual/es/features.fi...ost-method.php Entonces, una forma fácil es obtener la extensión y compararla con las permitidas. Lo ideal es que uses
Fileinfo.