Jajaja no es asi.... Ninguna de las formas que dicen, tenes que pasarlo primero por un strpos:
Código PHP:
if ( !empty($HTTP_POST_FILES['userfile']['name']) ) $file_name = $HTTP_POST_FILES['userfile']['name'];
if ( !empty($HTTP_POST_FILES['userfile']['tmp_name']) ) $file_name_tmp = $HTTP_POST_FILES['userfile']['tmpname'];
if ( !empty($HTTP_POST_FILES['userfile']['type']) ) $file_type = $HTTP_POST_FILES['userfile']['type'];
if ( !empty($HTTP_POST_FILES['userfile']['size']) ) $file_size = $HTTP_POST_FILES['userfile']['size'];
if ( empty($file_name) ) $error['file'] = 'Es obligatorio completar éste campo.';
if (!( (strpos($file_type, "gif") or strpos($file_type, "png") or strpos($file_type, "jpg") or strpos($file_type, "jpeg") ) ))
$error['file'] = 'La imagen no concuerda con los tipos permitidos. '.$file_type;
if (! ($file_size < 300000) ) $error['file'] = 'La imagen pesa más de 300KBytes.';
Espero que te sirva, saludos!