![]() 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/laminas/laminas-uri/src/ |
<?php namespace Laminas\Uri; use function preg_match; use function str_replace; use function strpos; /** * File URI handler * * The 'file:...' scheme is loosely defined in RFC-1738 */ class File extends Uri { /** @var array<int,string> */ protected static $validSchemes = ['file']; /** * Check if the URI is a valid File URI * * This applies additional specific validation rules beyond the ones * required by the generic URI syntax. * * @see Uri::isValid() * * @return bool */ public function isValid() { if ($this->query) { return false; } return parent::isValid(); } /** * User Info part is not used in file URIs * * @see Uri::setUserInfo() * * @param string $userInfo * @return File */ public function setUserInfo($userInfo) { return $this; } /** * Fragment part is not used in file URIs * * @see Uri::setFragment() * * @param string $fragment * @return File */ public function setFragment($fragment) { return $this; } /** * Convert a UNIX file path to a valid file:// URL * * @param string $path * @return File */ public static function fromUnixPath($path) { $url = new static('file:'); if (0 === strpos($path, '/')) { $url->setHost(''); } $url->setPath($path); return $url; } /** * Convert a Windows file path to a valid file:// URL * * @param string $path * @return File */ public static function fromWindowsPath($path) { $url = new static('file:'); // Convert directory separators $path = str_replace(['/', '\\'], ['%2F', '/'], $path); // Is this an absolute path? if (preg_match('|^([a-zA-Z]:)?/|', $path)) { $url->setHost(''); } $url->setPath($path); return $url; } }