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

