移动文件时出现问题

时间:2011-05-25 06:44:02

标签: php

我正在尝试使用以下代码移动文件:

$f = 'image.jpeg';
$source ='/Waiting/$f';
$destination = '/Excepted/$f';
copy($source, $destination) or die("Error 1");

但是我每次都会收到此错误:

Warning: copy(Waiting/$f) [function.copy]: failed to open stream: No such file or directory in C:\xampp\htdocs\gallery\v2\excepted.php on line 13

我意识到这是因为没有文件,但它没有拿起变量。

4 个答案:

答案 0 :(得分:2)

因为您使用'而不是'

你的代码应该是

$f = "image.jpeg";
$source ="/Waiting/$f";
$destination = "/Excepted/$f";
copy($source, $destination) or die("Error 1");

'不适用于$ variable。

示例:

<?php
$f="file";
echo 'myfile: $f';
echo "<br/>";
echo "myfile: $f";
?>

您将看到以下结果

myfile: $f
myfile: file

答案 1 :(得分:1)

如果希望变量解析工作,则需要使用双引号

$source = "/Waiting/$f";

答案 2 :(得分:1)

您的代码应为:

$f = 'image.jpeg';
$source ='/Waiting/'.$f;
$destination = '/Excepted/'.$f;
copy($source, $destination) or die("Error 1");

这意味着您将字符串Waiting和变量$ f组合在一起......这应该有用......

希望它有所帮助!


尝试使用它(因为PHP上的PHP 5.0 Linux或PHP 5.3.1):

$f = 'image.jpeg';
$source ='/Waiting/'.$f;
$destination = '/Excepted/'.$f;
rename($source, $destination);

这个功能应该更好地完成工作......它会一次完成所有工作(在新目的地上创建文件并删除旧目标)......

答案 3 :(得分:1)

试试这个

$f = 'image.jpeg';
$source = "/Waiting/$f"; // both values are in double quotes
$destination = "/Excepted/$f"; // both values are in double quotes
copy($source, $destination) or die("Error 1");

希望它有效