示例#1
0
 /**
  * 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;
 }