function FileTransfer::checkPath

Same name and namespace in other branches
  1. 11.x core/lib/Drupal/Core/FileTransfer/FileTransfer.php \Drupal\Core\FileTransfer\FileTransfer::checkPath()
  2. 7.x includes/filetransfer/filetransfer.inc \FileTransfer::checkPath()

Checks that the path is inside the jail and throws an exception if not.

Parameters

string $path: A path to check against the jail.

Throws

\Drupal\Core\FileTransfer\FileTransferException

File

core/lib/Drupal/Core/FileTransfer/FileTransfer.php, line 266

Class

FileTransfer
Defines the base FileTransfer class.

Namespace

Drupal\Core\FileTransfer

Code

final protected function checkPath($path) {
  $full_jail = $this->chroot . $this->jail;
  $full_path = \Drupal::service('file_system')->realpath(substr($this->chroot . $path, 0, strlen($full_jail)));
  $full_path = $this->fixRemotePath($full_path, FALSE);
  if ($full_jail !== $full_path) {
    throw new FileTransferException('@directory is outside of the @jail', 0, [
      '@directory' => $path,
      '@jail' => $this->jail,
    ]);
  }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.