我正在尝试使用以下代码移动文件:
$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
我意识到这是因为没有文件,但它没有拿起变量。
答案 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");
希望它有效