# copy()

## Copy files and folders

&#x20; <mark style="background-color:orange;">copy()</mark> &#x20;

This method will copy items to a new location.

{% tabs %}
{% tab title="OneDrive" %}

### **Parameters**

<table><thead><tr><th width="192">Name</th><th width="93">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>$entry_ids</code></td><td>array</td><td>ID of the entries that should be copied.</td></tr><tr><td><code>$target_id</code></td><td>string</td><td>ID of the folder where the entry should be copied to.</td></tr></tbody></table>

### **Return**

<table><thead><tr><th width="194">Name</th><th width="166">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>$nodes</code></td><td><strong>CachedNode[]</strong></td><td>An array of objects for the copied files/folders.</td></tr></tbody></table>

### **Usage**

```php
WPCP_ONEDRIVE_API::set_account_by_id('8c9bacda0-d8d8-4b22-b634-7b5281687575');
WPCP_ONEDRIVE_API::set_drive_by_id('b!DlaHWskCed_MIid3KpJH5Lbatf9HsdXBAZH5YcvPAbMhJUKzTJyzgvXZYpBS');

$entry_ids = [
  '01EXLSWHWMQZNDMLRG7NFIWAVYCFJAXP2R',
  '01EXLSWHW3APNASPERAVGJEAVQAMUNIKF6'
];

$nodes = WPCP_ONEDRIVE_API::copy($entry_ids, '01EXLSWHRCD7RDL3HX65BK5X3ULXLWSICN');
```

{% endtab %}

{% tab title="Google Drive" %}

### **Parameters**

<table><thead><tr><th width="184">Name</th><th width="88">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>$entry_ids</code></td><td>array</td><td>ID of the entries that should be copied.</td></tr><tr><td><code>$target_id</code></td><td>string</td><td>ID of the folder where the entry should be copied to.</td></tr></tbody></table>

### **Return**

<table><thead><tr><th width="184">Name</th><th width="167">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>$nodes</code></td><td><strong>CachedNode[]</strong></td><td>An array of objects for the copied files/folders.</td></tr></tbody></table>

### **Usage**

```php
WPCP_GDRIVE_API::set_account_by_id('201096615285735764133')

$entry_ids = [
  '1wzWlDMsZkA4N5yEEAmMigp52u7M0Lk_7',
  '1w7wpGF9jo4ZDmFaXxoBRDbCnotCmypJZ'
];

$nodes = WPCP_GDRIVE_API::copy($entry_ids, '1FCYkOJb150I8nl8DE92YIXWaB0J7VOk5');
```

{% endtab %}

{% tab title="Dropbox" %}

### **Parameters**

<table><thead><tr><th width="152">Name</th><th width="92">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>$request</code></td><td>array</td><td>An array with 'path' keys. Path can both be an ID or a actual path.</td></tr></tbody></table>

### **Return**

<table><thead><tr><th width="150">Name</th><th width="100">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>$entries</code></td><td><strong>Entry[]</strong></td><td>An array of objects for the copied files/folders.</td></tr></tbody></table>

### **Usage**

```php
WPCP_DROPBOX_API::set_account_by_id('dbid:AADSy6JxzbgqCs4A43CAAAfO9xvZwpcsLU');

$request = ['entries' =>  []];

$request['entries'][] = ['from_path' => '/Homework/math', 'to_path' => '/Homework/algebra'];
$request['entries'][] = ['from_path' => '/Documents/a picture.jpg', 'to_path' => '/Documents/just a picture.jpg'];

$entries = WPCP_DROPBOX_API::copy($request);
```

{% endtab %}

{% tab title="Box" %}

### **Parameters**

| Name             | Type   | Description                                                                       |
| ---------------- | ------ | --------------------------------------------------------------------------------- |
| `$id`            | string | ID of the entry that should be copied.                                            |
| `$new_parent_id` | string | ID of the folder where the entry should be copied to.                             |
| `$new_name`      | string | The new name for the copied file. No value means that the same name will be used. |
| `$is_dir`        | bool   | Is the entry a folder or a file?                                                  |

### **Return**

| Name    | Type           | Description                                   |
| ------- | -------------- | --------------------------------------------- |
| `$node` | **CachedNode** | The cached object for the copied file/folder. |

### **Usage**

```php
WPCP_BOX_API::set_account_by_id('29232154182');

$node = WPCP_BOX_API::copy('51142665', '511426724354', null, false);
```

{% endtab %}
{% endtabs %}
