Не работает return в конструкции if?
Если всё действительно так как вы говорите, то есть мнение что move_uploaded_file не всегда возвращает true. Просто вы смотрите в разные моменты.
Идеальный пример реализации анекдота у таракана уши в ногах в реальной жизни.
Автор уже сам понял, что, разумеется, дело не в условном операторе (и не может быть). Но все равно упорно стучит по столу, и проверяет что угодно, но не возврат конкретной функции