function FileTransfer::findChroot
Same name in other branches
- 7.x includes/filetransfer/filetransfer.inc \FileTransfer::findChroot()
- 9 core/lib/Drupal/Core/FileTransfer/FileTransfer.php \Drupal\Core\FileTransfer\FileTransfer::findChroot()
- 8.9.x core/lib/Drupal/Core/FileTransfer/FileTransfer.php \Drupal\Core\FileTransfer\FileTransfer::findChroot()
- 11.x core/lib/Drupal/Core/FileTransfer/FileTransfer.php \Drupal\Core\FileTransfer\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.
1 call to FileTransfer::findChroot()
- FileTransfer::setChroot in core/
lib/ Drupal/ Core/ FileTransfer/ FileTransfer.php - Sets the chroot and changes the jail to match the correct path scheme.
File
-
core/
lib/ Drupal/ Core/ FileTransfer/ FileTransfer.php, line 405
Class
- FileTransfer
- Defines the base FileTransfer class.
Namespace
Drupal\Core\FileTransferCode
public 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::service('file_system')->basename(__FILE__))) {
// Remove the trailing slash.
return substr($chroot, 0, -1);
}
$chroot .= array_shift($parts) . '/';
}
return FALSE;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.