public static function generateFilename() { while (true) { $name = RandomFilename::generate('jpg'); $path = substr($name, 0, 2) . '/' . $name; if (!BattleImage::findOne(['filename' => $path])) { return $path; } } }