The move_dir() WordPress PHP function moves a directory from one location to another. It recursively invalidates OPcache on success and falls back to copy_dir() if renaming fails.
Usage
move_dir($from, $to, $overwrite = false);
Parameters
$from(string) – Source directory.$to(string) – Destination directory.$overwrite(bool) – Optional. Whether to overwrite the destination directory if it exists. Default isfalse.
More information
See WordPress Developer Resources: move_dir()
Examples
Move a directory without overwriting
This example moves the “old_folder” directory to the “new_folder” directory without overwriting any existing files or folders.
$from = '/path/to/old_folder'; $to = '/path/to/new_folder'; $overwrite = false; move_dir($from, $to, $overwrite);
Move a directory with overwriting
This example moves the “old_folder” directory to the “new_folder” directory, overwriting any existing files or folders.
$from = '/path/to/old_folder'; $to = '/path/to/new_folder'; $overwrite = true; move_dir($from, $to, $overwrite);
Move a directory inside another directory
This example moves the “old_folder” directory inside the “parent_folder” directory.
$from = '/path/to/old_folder'; $to = '/path/to/parent_folder/old_folder'; move_dir($from, $to);
Move a directory and check for errors
This example moves the “old_folder” directory to the “new_folder” directory and checks for errors during the process.
$from = '/path/to/old_folder';
$to = '/path/to/new_folder';
$result = move_dir($from, $to);
if (is_wp_error($result)) {
echo 'Error: ' . $result->get_error_message();
} else {
echo 'Directory moved successfully';
}
Move a directory with a custom filter
This example moves the “old_folder” directory to the “new_folder” directory, but only if the “new_folder” directory does not exist.
$from = '/path/to/old_folder';
$to = '/path/to/new_folder';
if (!file_exists($to)) {
move_dir($from, $to);
} else {
echo 'The destination directory already exists';
}