WP_Filesystem_Direct::delete( string $file, bool $recursive = false, string|false $type = false ): bool
- Since
- 2.5.0
- Source
wp-admin/includes/class-wp-filesystem-direct.php:401
Deletes a file or directory.
Parameters
$filestring- Path to the file or directory.
$recursivebooloptional- If set to true, deletes files and folders recursively. Default false.Default:
false $typestring|falseoptional- Type of resource. 'f' for file, 'd' for directory. Default false.Default:
false
Return
bool- True on success, false on failure.
Uses · 5
- trailingslashit()Appends a trailing slash.
- WP_Filesystem_Direct::is_file()Checks if resource is a file.
- WP_Filesystem_Direct::is_dir()Checks if resource is a directory.
- WP_Filesystem_Direct::dirlist()Gets details for files in a directory or a specific file.
- WP_Filesystem_Direct::delete()Deletes a file or directory.
Used by · 3
- WP_Filesystem_Direct::delete()Deletes a file or directory.
- WP_Filesystem_Direct::move()Moves a file or directory.
- WP_Filesystem_Direct::rmdir()Deletes a directory.
Source
public function delete( $file, $recursive = false, $type = false ) { if ( empty( $file ) ) { // Some filesystems report this as /, which can cause non-expected recursive deletion of all files in the filesystem. return false; } $file = str_replace( '\\', '/', $file ); // For Win32, occasional problems deleting files otherwise. if ( 'f' === $type || $this->is_file( $file ) ) { return @unlink( $file ); } if ( ! $recursive && $this->is_dir( $file ) ) { return @rmdir( $file ); } // At this point it's a folder, and we're in recursive mode. $file = trailingslashit( $file ); $filelist = $this->dirlist( $file, true ); $retval = true; if ( is_array( $filelist ) ) { foreach ( $filelist as $filename => $fileinfo ) { if ( ! $this->delete( $file . $filename, $recursive, $fileinfo['type'] ) ) { $retval = false; } } } if ( file_exists( $file ) && ! @rmdir( $file ) ) { $retval = false; } return $retval; }History
Introduced in 2.5.0. Unchanged from 6.7.7 through 7.1.0.
Signature, return type and hooks compared across 5 parsed releases.
About this page
- Parsed data
- Generated from the wordpress-develop 7.1.0 tag, from
src/wp-admin/includes/class-wp-filesystem-direct.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it. - Corrections
- Something wrong on this page? Report it and it gets fixed in the next regeneration.