Like rename(), copy() also takes two parameters - the filename you wish to copy from, and the filename you wish to copy to. The difference between rename() and copy() is that calling rename() results in the file being in only one place, the destination, whereas copy() leaves the file in the source location as well as placing a new copy of the file into the destination.
<?php $filename2 = $filename . '.old'; copy($filename, $filename2); ?>
The result of that script is that there will be a file $filename and also a $filename.old, e.g. c:\\windows\\myfile.txt and c:\\windows\\myfile.txt.old.
Author's Note: this function will not copy empty (zero-length) files - to do that, you need to use the function touch().
Want to learn PHP 7?
Hacking with PHP has been fully updated for PHP 7, and is now available as a downloadable PDF. Get over 1200 pages of hands-on PHP learning today!
If this was helpful, please take a moment to tell others about Hacking with PHP by tweeting about it!
Next chapter: Deleting files with unlink() >>
Previous chapter: Moving files with rename()
Home: Table of Contents
Copyright ©2015 Paul Hudson. Follow me: @twostraws.