1.20.x stream_wrappers.inc protected BackdropLocalStreamWrapper::getLocalPath($uri = NULL)

Returns the canonical absolute path of the URI, if possible.

Parameters

string $uri: (optional) The stream wrapper URI to be converted to a canonical absolute path. This may point to a directory or another type of file.

Return value

string|false: If $uri is not set, returns the canonical absolute path of the URI previously set by the BackdropStreamWrapperInterface::setUri() function. If $uri is set and valid for this class, returns its canonical absolute path, as determined by the realpath() function. If $uri is set but not valid, returns FALSE.

File

includes/stream_wrappers.inc, line 370
Backdrop stream wrapper interface.

Class

BackdropLocalStreamWrapper
Backdrop stream wrapper base class for local files.

Code

protected function getLocalPath($uri = NULL) {
  if (!isset($uri)) {
    $uri = $this->uri;
  }
  $path = $this->getDirectoryPath() . '/' . $this->getTarget($uri);
  $realpath = realpath($path);
  if (!$realpath) {
    // This file does not yet exist.
    $realpath = realpath(dirname($path)) . '/' . backdrop_basename($path);
  }
  $directory = realpath($this->getDirectoryPath());
  if (!$realpath || !$directory || strpos($realpath, $directory) !== 0) {
    return FALSE;
  }
  return $realpath;
}