![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/rector/rector/packages/Skipper/ |
<?php declare (strict_types=1); namespace Rector\Skipper; final class RealpathMatcher { public function match(string $matchingPath, string $filePath) : bool { $realPathMatchingPath = \realpath($matchingPath); if (!\is_string($realPathMatchingPath)) { return \false; } $realpathFilePath = \realpath($filePath); if (!\is_string($realpathFilePath)) { return \false; } $normalizedMatchingPath = $this->normalizePath($realPathMatchingPath); $normalizedFilePath = $this->normalizePath($realpathFilePath); // skip define direct path if (\is_file($normalizedMatchingPath)) { return $normalizedMatchingPath === $normalizedFilePath; } // ensure add / suffix to ensure no same prefix directory if (\is_dir($normalizedMatchingPath)) { $normalizedMatchingPath = \rtrim($normalizedMatchingPath, '/') . '/'; } return \strncmp($normalizedFilePath, $normalizedMatchingPath, \strlen($normalizedMatchingPath)) === 0; } private function normalizePath(string $path) : string { return \str_replace('\\', '/', $path); } }