public static function safeFileName($filename) { $pathInfo = pathinfo($filename); if (isset($pathInfo['extension']) && isset($pathInfo['filename'])) { $pathInfo['filename'] = preg_replace('#[\\.]+#i', ' ', $pathInfo['filename']); $pathInfo['extension'] = preg_replace('#[\\.]+#i', '.', $pathInfo['extension']); $pathInfo['filename'] = Text::toSlug($pathInfo['filename']); if (isset($pathInfo['dirname'])) { $filename = $pathInfo['dirname'] . DIRECTORY_SEPARATOR . $pathInfo['filename'] . '.' . $pathInfo['extension']; } else { $filename = $pathInfo['filename'] . '.' . $pathInfo['extension']; } } else { $filename = Text::toSlug($filename); } return $filename; }