protected FTPExtension::removeDirectoryJailed($directory)
Removes a directory.
Parameters
string $directory: The directory to be removed.
Overrides FileTransfer::removeDirectoryJailed
File
- core/lib/Drupal/Core/FileTransfer/FTPExtension.php, line 45
Class
- FTPExtension
- Defines a file transfer class using the PHP FTP extension.
Namespace
Drupal\Core\FileTransfer
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | protected function removeDirectoryJailed( $directory ) { $pwd = ftp_pwd( $this ->connection); if (!ftp_chdir( $this ->connection, $directory )) { throw new FileTransferException( "Unable to change to directory @directory" , NULL, array ( '@directory' => $directory )); } $list = @ftp_nlist( $this ->connection, '.' ); if (! $list ) { $list = array (); } foreach ( $list as $item ) { if ( $item == '.' || $item == '..' ) { continue ; } if (@ftp_chdir( $this ->connection, $item )) { ftp_cdup( $this ->connection); $this ->removeDirectory(ftp_pwd( $this ->connection) . '/' . $item ); } else { $this ->removeFile(ftp_pwd( $this ->connection) . '/' . $item ); } } ftp_chdir( $this ->connection, $pwd ); if (!ftp_rmdir( $this ->connection, $directory )) { throw new FileTransferException( "Unable to remove to directory @directory" , NULL, array ( '@directory' => $directory )); } } |
Please login to continue.