The results of is_dir() are cached

If a production server uses statcache, the results of the first and second call of is_dir() is always the same. 
So before calling is_dir() for the second time, use clearstatcache() to clear the results of the first call of is_dir().