Fix for issue when file or directory name is "0" (backport for 3.3)

Summary: If name of file or directory is `0` - this name shouldn't be removed in `::resolveDotDots` method.
Solution is to use `strlen` function as callback in `array_filter` - it will works similarly, but keeps values of 0 (zero).

Backport of #4266
(cherry picked from commit c2c9589)