update v1.0.7.9 R.C.
This is a Release Candidate. We are still testing.
This commit is contained in:
101
vendor/zendframework/zend-uri/src/File.php
vendored
Normal file
101
vendor/zendframework/zend-uri/src/File.php
vendored
Normal file
@@ -0,0 +1,101 @@
|
||||
<?php
|
||||
/**
|
||||
* Zend Framework (http://framework.zend.com/)
|
||||
*
|
||||
* @link http://github.com/zendframework/zf2 for the canonical source repository
|
||||
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
|
||||
namespace Zend\Uri;
|
||||
|
||||
/**
|
||||
* File URI handler
|
||||
*
|
||||
* The 'file:...' scheme is loosely defined in RFC-1738
|
||||
*/
|
||||
class File extends Uri
|
||||
{
|
||||
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.
|
||||
*
|
||||
* @return bool
|
||||
* @see Uri::isValid()
|
||||
*/
|
||||
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 (substr($path, 0, 1) == '/') {
|
||||
$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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user