在php中复制图像问题


copy images issue in php

我想把一些图片从一个文件夹复制到另一个文件夹,我不想全部复制。这是我的代码,但它给了我一个问题failed to open stream

$image = "a.jpg";
$srcfile='uploads/listings/my_from/'.$image;
$dstfile='uploads/listings/my_to/images/';
copy($srcfile, $dstfile);

我错过了什么?我还能做些什么,以便将所选图像复制到目的地而不删除它吗?

注意:这两个文件夹都在同一个服务器和同一个项目上。我应该卷一下吗?

也可能需要做一些错误检查,但您只需要将完整的图像路径添加到$dstfile变量:

<?php
$image = "a.jpg";
$srcfile='uploads/listings/my_from/'.$image;
$dstfile='uploads/listings/my_to/images/'.$image;
echo 'Attempting to copy "'.$srcfile.'" to "'.$dstfile.'"<br />';
if(file_exists($srcfile)) {
    if(file_exists($dstfile)) {
        echo 'Cannot copy file, destination file already exists';
    } else {
        if(is_writable(dirname($dstfile))) {
            if(copy($srcfile,$dstfile)) {
                echo 'File successfully copied';
            } else {
                echo 'File could not be copied';
            }
        } else {
            echo 'Destination is not writable';
        }
    }
} else {
    echo 'Cannot copy file, source file doesnt exist';
}
?>

如果您确定文件a.jpg存在,那么这应该可以工作

$srcfile='uploads/listings/my_from/'.$image;
$dstfile='uploads/listings/my_to/images/'.$image;
copy($srcfile, $dstfile);
必须指定目标文件名。

你应该检查它是否真的存在。

试题:

$image = "a.jpg";
$srcfile='uploads/listings/my_from/'. $image;
$dstfile='uploads/listings/my_to/images/' . $image;
if(!file_exists($srcfile) {
    throw new 'Exception("File does not exist!");
}
copy($srcfile, $dstfile);