PHP Copy File
Summary: in this tutorial, you will learn how to copy a file by using the PHP copy() file function from one location to another.
Introduction to the PHP copy() file function
To copy a file from one location to another, you use the copy() function:
copy ( string $source , string $dest , resource $context = ? ) : boolCode language: PHP (php)
The copy() file function has three parameters:
- $sourceis the full path to the file that you want to copy.
- $destis the full path to the file to which the file will copy.
- $contextis a valid context resource.
The copy() function returns true if the file is copied successfully or false in case there was an error during copying the file.
Note that if the $dest file exists, the copy() function will overwrite it.
PHP copy file examples
Let’s take some examples of using the copy() function.
1) A simple PHP copy file example
The following example uses the copy() function to copy the readme.txt to readme.bak file:
$source = 'readme.txt';
 $dest = 'readme.bak';
echo copy($source, $dest)
 ? "The file $source was copied to $dest  successfully!"
 : "Error copying the file $source";
Code language: HTML, XML (xml)
2) Check if the destination file exists before copying
The following example uses the copy() function to copy the readme.txt file to the readme.bak file. Also, it checks if the readme.bak exists before overwriting the file:
$source = 'readme.txt';
 $dest = 'readme.bak';
!file_exists($source) && die("The file $source does not exist");
file_exists($dest) && die("The file $dest already exists");
echo copy($source, $dest)
 ? "The file $source was copied to $dest  successfully!"
 : "Error copying the file $source";
Code language: HTML, XML (xml)
3) PHP copy file helper function
The following copy_file() helper function copies a file. It returns false if the source file does not exist or the destination file exists and the overwritten argument is true:
function copy_file($source, $dest, $overwritten = true): bool
 {
 if (!file_exists($source)) {
 return false;
 }
 if (!$overwritten && file_exists($dest)) {
 return false;
 }
 return copy($source, $dest);
 }
Code language: HTML, XML (xml)
Summary
- Use the PHP copy()file function to copy a file from a location to another.
- The copy()function overwrites the destination file if it exists.