use realpath() to avoid is_file() notices