给出目录如何找到上一个修改后的一级子目录,然后将其内容复制到具有新名称的新目录中?
这是我到目前为止尝试过的:
<?php
if(isset($_POST['duplicate'])){
$path = "foldere/";
$latest_ctime = 0;
$latest_dir = '';
$d = dir($path);
foreach ($d as $latest_dir) {
// Skip current directory and parent directory
if ($latest_dir == '.' || $latest_dir == '..') {
continue;
}
while (false !== ($entry = $d->read())) {
$filepath = "{$path}/{$entry}";
if(is_dir($filepath) && filectime($filepath) > $latest_ctime) {
$latest_ctime = filectime($filepath);
$latest_dir = $entry;
}
//end loop
}
}
}
?>
但是我只是不知道如何使用新名称将内容复制到新文件夹中。
答案 0 :(得分:0)
这是我的快速而肮脏的解决方案。
<?php
$dirs = [];
array_map(function ($d) use (&$dirs) {
$dirs[filemtime($d)] = $d;
}, glob('./*', GLOB_ONLYDIR));
ksort($dirs);
$last = array_pop($dirs);
$new_name = "NewName";
shell_exec("cp -r $last $new_name");
考虑到我正在运行一个shell命令来复制目录,并且它不是真正可移植的,这是一种懒惰的方法。
但是我相信这对于自动化任务是有效的。