diff options
Diffstat (limited to 'lib/private')
-rwxr-xr-x | lib/private/util.php | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/private/util.php b/lib/private/util.php index 0585749d615..bdc762d4bef 100755 --- a/lib/private/util.php +++ b/lib/private/util.php @@ -1149,4 +1149,25 @@ class OC_Util { } return $version; } + + /** + * Returns whether the given file name is valid + * @param $file string file name to check + * @return bool true if the file name is valid, false otherwise + */ + public static function isValidFileName($file) { + $trimmed = trim($file); + if ($trimmed === '') { + return false; + } + if ($trimmed === '.' || $trimmed === '..') { + return false; + } + foreach (str_split($trimmed) as $char) { + if (strpos(\OCP\FILENAME_INVALID_CHARS, $char) !== false) { + return false; + } + } + return true; + } } |