WordPress at Your Fingertips
function is not described

_copy_image_file() WP 3.4.0

Copy an existing image file.

This is an internal function for using it by WP core itself. It's not recommended to use this function in your code.

No Hooks.

Return

String|false. New file path on success, false on failure.

Usage

_copy_image_file( $attachment_id );
$attachment_id(int) (required)
Attachment ID.

Changelog

Since 3.4.0 Introduced.

Code of _copy_image_file() WP 5.8.2

function _copy_image_file( $attachment_id ) {
	$dst_file = get_attached_file( $attachment_id );
	$src_file = $dst_file;

	if ( ! file_exists( $src_file ) ) {
		$src_file = _load_image_to_edit_path( $attachment_id );
	}

	if ( $src_file ) {
		$dst_file = str_replace( wp_basename( $dst_file ), 'copy-' . wp_basename( $dst_file ), $dst_file );
		$dst_file = dirname( $dst_file ) . '/' . wp_unique_filename( dirname( $dst_file ), wp_basename( $dst_file ) );

		/*
		 * The directory containing the original file may no longer
		 * exist when using a replication plugin.
		 */
		wp_mkdir_p( dirname( $dst_file ) );

		if ( ! copy( $src_file, $dst_file ) ) {
			$dst_file = false;
		}
	} else {
		$dst_file = false;
	}

	return $dst_file;
}