我想把一些图片从一个文件夹复制到另一个文件夹,我不想全部复制。这是我的代码,但它给了我一个问题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);