file_copy($source, $destination = NULL, $replace = FILE_EXISTS_RENAME)
drupal/includes/file.inc, line 382
Copy a file to a new location and adds a file record to the database.
This function should be used when manipulating files that have records stored in the database. This is a powerful function that in many ways performs like an advanced version of copy().
@see file_unmanaged_copy() @see hook_file_copy()
$source A file object.
$destination A string containing the directory $source should be copied to. If this value is omitted, Drupal's 'files' directory will be used.
$replace Replace behavior when the destination file already exists:
File object if the copy is successful, or FALSE in the event of an error.
| Name | Description |
|---|---|
| File interface | Common file handling functions. |
function file_copy($source, $destination = NULL, $replace = FILE_EXISTS_RENAME) {
$source = (object)$source;
if ($filepath = file_unmanaged_copy($source->filepath, $destination, $replace)) {
$file = clone $source;
$file->fid = NULL;
$file->filename = basename($filepath);
$file->filepath = $filepath;
if ($file = file_save($file)) {
// Inform modules that the file has been copied.
module_invoke_all('file_copy', $file, $source);
return $file;
}
}
return FALSE;
}