WP_Filesystem_SSH2::delete( string $file, bool $recursive = false, string|false $type = false ): bool

In this article

Deletes a file or directory.

Parameters

$filestringrequired
Path to the file or directory.
$recursivebooloptional
If set to true, deletes files and folders recursively.

Default:false

$typestring|falseoptional
Type of resource. 'f' for file, 'd' for directory.

Default:false

Return

bool True on success, false on failure.

Source

public function delete( $file, $recursive = false, $type = false ) {
	if ( 'f' === $type || $this->is_file( $file ) ) {
		return ssh2_sftp_unlink( $this->sftp_link, $file );
	}

	if ( ! $recursive ) {
		return ssh2_sftp_rmdir( $this->sftp_link, $file );
	}

	$filelist = $this->dirlist( $file );

	if ( is_array( $filelist ) ) {
		foreach ( $filelist as $filename => $fileinfo ) {
			$this->delete( $file . '/' . $filename, $recursive, $fileinfo['type'] );
		}
	}

	return ssh2_sftp_rmdir( $this->sftp_link, $file );
}

Changelog

VersionDescription
2.7.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.