1

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

2 回答 2

2

copy()函数需要源文件的完整文件路径;你只是传递文件名,而不是路径。

就目前情况而言,它正在当前文件夹中查找该文件,但没有找到它,并因此引发错误。

从上一行代码来看,您的完整路径应该是$path . DS . $uploadImage,所以复制命令应该如下所示:

copy($path . DS . $uploadImage, $path2);

希望有帮助。

于 2013-05-29T15:44:40.573 回答
0

你的复制功能是错误的......

 copy($uploadImage, $path2);

正如 Spudley 回答所说,您必须使用图像的完整路径。另外,$path2是一个目录。您必须为图像的新副本命名。

因此,您的复制功能如下:

 copy($path . DS . $uploadImage, $path2. DS . $uploadImage);

试试看,让我们知道。

于 2013-05-29T15:55:48.800 回答