# replace symbols with underscores
$filename = preg_replace('|[^a-z0-9_.]|', '_', $filename);
+ # limit length
+ if(strlen($filename > 80)) {
+ $filename = substr($filename, -80);
+ }
+
# remove dots from the beginning (no invisible files)
$filename = preg_replace('|^\.*|', '', $filename);
- if(strlen($filename > 80)) {
- $filename = substr($filename, -80);
+ # make sure there's something before the extension
+ if ($filename == '') {
+ return '_';
}
# fix extension
}
$filename = $basename . '.' . $ext;
}
+
return $filename;
}