WP_Filesystem_Direct::move()
Moves a file or directory.
After moving files or directories, OPcache will need to be invalidated.
If moving a directory fails, copy_dir() be used for a recursive copy.
Use move_dir() moving directories with OPcache invalidation and a fallback to copy_dir().
Method of the class: WP_Filesystem_Direct{}
No Hooks.
Return
true|false
. True on success, false on failure.
Usage
$WP_Filesystem_Direct = new WP_Filesystem_Direct(); $WP_Filesystem_Direct->move( $source, $destination, $overwrite );
- $source(string) (required)
- Path to the source file.
- $destination(string) (required)
- Path to the destination file.
- $overwrite(true|false)
- Whether to overwrite the destination file if it exists.
Default: false
Changelog
Since 2.5.0 | Introduced. |
WP_Filesystem_Direct::move() WP Filesystem Direct::move code WP 6.6.2
public function move( $source, $destination, $overwrite = false ) { if ( ! $overwrite && $this->exists( $destination ) ) { return false; } if ( $overwrite && $this->exists( $destination ) && ! $this->delete( $destination, true ) ) { // Can't overwrite if the destination couldn't be deleted. return false; } // Try using rename first. if that fails (for example, source is read only) try copy. if ( @rename( $source, $destination ) ) { return true; } // Backward compatibility: Only fall back to `::copy()` for single files. if ( $this->is_file( $source ) && $this->copy( $source, $destination, $overwrite ) && $this->exists( $destination ) ) { $this->delete( $source ); return true; } else { return false; } }