On 12/15/05, Tim Meader <[EMAIL PROTECTED]> wrote: > Okay, this seems like a ridiculously easy question which shouldn't even > need asking, but I'm having trouble getting the builtin copy command to > work properly. It seems to work fine as long as I feed it a full > constant string path for each argument (ie - in the form > "/the/path/to/the/file"). However, if I try to feed it two variables as > the arguments, it craps out somewhere along the line. Here are the two > different sets of calls I'm making: > > These two work perfectly: > > copy("/usr/local/apache/htdocs/ipreg2/crons/regservice_rep/snapshot.baseline", > "/usr/local/apache/htdocs/ipreg2/crons/regservice_rep/snapshot.baseline.bak") > ; > copy("/usr/local/apache/htdocs/ipreg2/crons/regservice_rep/lastrun.timestamp", > "/usr/local/apache/htdocs/ipreg2/crons/regservice_rep/lastrun.timestamp.bak"); > > These two fail: > > $l_stLastRun = > "/usr/local/apache/htdocs/ipreg2/crons/regservice_rep/lastrun.timestamp"; > $l_stSnapshotBase = > "/usr/local/apache/htdocs/ipreg2/crons/regservice_rep/snapshot.baseline"; > > copy($l_stSnapshotBase, $l_stSnapshotBase.".bak"); > copy($l_stLastRun, $l_stLastRun.".bak"); > > Can anyone offer any insight on what the problem might be with this? The > "unlink" function seems to accept the variable inputs with absolutely no > problem, so I can't understand the discrepancy between the two.
There's no problem with variable names as parameters to copy() - you can test that in a few seconds. $ touch foo $ php -a Interactive mode enabled <?php $a = 'foo'; copy($a, $a . '.bak'); ?> $ ls foo foo.bak So the problem is elsewhere. 99 times in 100 you've either messed up the filenames or you've not got appropriate file permissions to do the copy. -robin