Re: Help with the copy command...
| From: | Robin Vickery | Date: | Fri, 16 Dec 2005 11:00:01 +0000 |
| Subject: | Re: Help with the copy command... | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-227525@lists.php.net to get a copy of this message | ||
On 12/15/05, Tim Meader <tmeader@pobox.com> 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