De todas formas no entiendo una cosa (un par, pero bueno...)
Cuando haces
Código PHP:
foreach ($this->allows as $allow) {
$this->extension .= $allow;
}
Estás guardando todas las... ¿extensiones permitidas? en un string.. q sería algo así 'jpgpnggif' por ejemplo...
Y luego haces
Código PHP:
if ($this->extension == $this->extension($file)) {
return $this->correcto;
}
Que serñia algo así como
if( 'jpgpnggif' == 'jpg')
Nunca sería "true" si tienes puesta más de una extensión. ¿No?