/** * Vytvoří bezpečné jméno pro soubor * @param string $filename * @param array $unsafeExtensions * @param string $safeExtension * @return string */ static function safeName($filename, $unsafeExtensions = null, $safeExtension = "txt") { if ($unsafeExtensions === null) { $unsafeExtensions = array("php", "phtml", "inc", "php3", "php4", "php5"); } if ($filename[0] == '.') { $filename = substr($filename, 1); } $filename = str_replace(DIRECTORY_SEPARATOR, '-', $filename); $extension = self::extension($filename, "l"); if (in_array($extension, $unsafeExtensions)) { $extension = $safeExtension; } $name = self::filenameWithoutExtension($filename); $name = Strings::safe($name, false); if (preg_match('~^(.*)[-_]+$~', $name, $partsName)) { $name = $partsName[1]; } if (preg_match('~^[-_]+(.*)$~', $name, $partsName)) { $name = $partsName[1]; } $ret = $name; if ($extension) { $ret .= "." . $extension; } return $ret; }