1.- estás usando mal explode: la función lleva al menos 2 parámetros
(
http://php.net/explode)
2.- Estás usando mal in_array, cuya sintaxis es
bool in_array ( mixed aguja, array pajar [, bool strict] )
Es decir, el segundo parámetro debe ser una matriz, no una cadena de texto.
Creo que lo que querés hacer es:
Código PHP:
$extension = "txt";
if ($extension == end(explode('.', $file)))
Es decir, dada la $extension, querés separar el nombre del archivo, tomando como separador al punto.
Luego comprobás si la última de las partes es igual a la extensión.
No recuerdo en este momento si el operador == distingue mayúsculas y minúsculas, probalo (por las dudas que alguna extensión esté como TXT y no como txt)
Saludos.