Php copy()无法正常工作

时间:2013-05-29 15:41:25

标签: php

我正在尝试将上传的文件复制到另一个名为 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...

2 个答案:

答案 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);

试一试,告诉我们。