/** * Возвращает очищенное (от некошерных символов) имя файла. */ private function getCleanFileName(array &$file) { $filename = mcms::translit($file['name']); $filename = preg_replace('/[^a-z0-9_.-]+/', '_', $filename); $filename = trim($filename, '_'); $filename .= $this->getSafeExtension($filename); $md5 = md5_file($file['tmp_name']); $filepath = substr($md5, 0, 1) . '/' . substr($md5, 1, 1) . '/' . $filename; return $filepath; }