Weil du mit bla == blub || foo || bar nicht überprüfst, ob bla gleich blub, foo oder bar ist, sondern ob bla==blub ist, ob foo==true ist oder ob bar==true ist.
Bei dir überprüfst du dem entsprechend zum Beispiel ob 'image/gif' wahr ist. Nicht-leere Strings sind immer wahr, ergo wird dein if() immer ausgeführt.