我正在尝试将上传的文件复制到另一个名为 img 的目录,其中包含以下代码。但它不能正常工作。我不知道为什么?你能帮帮我吗?
php代码:
if($image["name"] != "")
{
//$path = PATH . DS . "uploads" . DS . "products" . DS . $id;
$path = "../../uploads" . DS . "products" . DS . $id;
$path2 = "img";
if(!is_dir($path))
{
mkdir($path);
}
chmod($path, 0755);
//move_uploaded_file($image["tmp_name"], $path . DS . $image["name"]);
move_uploaded_file($image["tmp_name"], $path . DS .
$uploadImage);//exit;
copy($uploadImage, $path2);
}
以下错误消息显示:
Warning: copy(249.jpg) [function.copy]: failed to open stream: No such file or directory in...
答案 0 :(得分:2)
copy()
函数需要源文件的完整文件路径;你只是传递文件名,而不是路径。
就目前而言,它正在查找文件的当前文件夹,而不是找到它,并因此抛出错误。
从上一行代码看,您的完整路径看起来应该是$path . DS . $uploadImage
,因此复制命令应该如下所示:
copy($path . DS . $uploadImage, $path2);
希望有所帮助。
答案 1 :(得分:0)
您的复制功能有误......
copy($uploadImage, $path2);
正如Spudley的回答所说,你必须使用图像的完整路径。此外,$path2
是一个目录。您必须为图像的新副本命名。
因此,您的复制功能如下:
copy($path . DS . $uploadImage, $path2. DS . $uploadImage);
试一试,告诉我们。