function FileTransfer::findChroot

FileTransfer::findChroot()

Returns the chroot property for this connection.

It does this by moving up the tree until it finds itself

Return value

string|bool If successful, the chroot path for this connection, otherwise FALSE.

File

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

Class

FileTransfer
Defines the base FileTransfer class.

Namespace

Drupal\Core\FileTransfer

Code

function findChroot() {
  // If the file exists as is, there is no chroot.
  $path = __FILE__;
  $path = $this->fixRemotePath($path, FALSE);
  if ($this->isFile($path)) {
    return FALSE;
  }

  $path = __DIR__;
  $path = $this->fixRemotePath($path, FALSE);
  $parts = explode('/', $path);
  $chroot = '';
  while (count($parts)) {
    $check = implode($parts, '/');
    if ($this->isFile($check . '/' . drupal_basename(__FILE__))) {
      // Remove the trailing slash.
      return substr($chroot, 0, -1);
    }
    $chroot .= array_shift($parts) . '/';
  }
  return FALSE;
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!FileTransfer!FileTransfer.php/function/FileTransfer::findChroot/8.1.x