private function guessTypeByStat($mode) { switch ($mode & self::STAT_IFMT) { case self::STAT_IFDIR: return MimeType::directory(); case self::STAT_IFLNK: return MimeType::symlink(); case self::STAT_IFCHR: return MimeType::characterDevice(); case self::STAT_IFBLK: return MimeType::blockDevice(); case self::STAT_IFIFO: return MimeType::fifo(); case self::STAT_IFSOCK: return MimeType::socket(); default: return MimeType::door(); } }