我正在制作一些代码,将所有图像放在一个文件夹中,然后将它们复制到另一个文件夹中,然后删除原始文件夹及其内容。
我有:
copy('images/old-folder/*', 'images/new-folder/');
unlink('images/old-folder/');
但这不起作用:(但它不起作用我的意思是文件不要复制并且旧文件夹不会被删除:(
我甚至尝试过:
system('cp images/old-folder/* images/new-folder/');
这也不起作用:(请帮忙。
我甚至试图更改两个文件夹的权限:
chmod('images/old-folder/', 0777);
chmod('images/new-folder/', 0777);
答案 0 :(得分:2)
foreach(glob('images/old-folder/*') as $image) {
copy($image, 'images/new-folder/' . basename($image)); unlink($image);
}
rmdir('images/old-folder');
查看文档:{{3}},glob,您也可能会发现有关rmdir的用户评论很有用。
编辑:
将rmdir添加到复制功能的第二个参数,该参数必须是实际路径,而不是目录。
答案 1 :(得分:0)
<?php
$src = 'pictures';
$dst = 'dest';
$files = glob("pictures/*.*");
foreach($files as $file){
$file_to_go = str_replace($src,$dst,$file);
copy($file, $file_to_go);
}
?>
答案 2 :(得分:0)
以下是@Prasanth的修改版本,应该可以使用(未经测试)
<?php
$oldfolder = 'images/new-folder';
$newfolder = 'images/old-folder';
$files = glob($oldfolder . '/*');
foreach($files as $file){
$filename = basename($file);
copy($file, $oldfolder . '/' . $filename);
unlink($file);
}
rmdir($oldfolder);
?>