php文件夹及其文件夹下所有文件

醉菜鸟 2022-05-31 08:00:04

/**
 * 复制文件夹
 * @param string $source 源文件夹
 * @param string $dest   目标文件夹
 */
function copydirs($source, $dest)
{
    if (!is_dir($dest)) {
        mkdir($dest, 0755, true);
    }
    foreach (
        $iterator = new RecursiveIteratorIterator(
            new RecursiveDirectoryIterator($source, RecursiveDirectoryIterator::SKIP_DOTS),
            RecursiveIteratorIterator::SELF_FIRST
        ) as $item
    ) {
        if ($item->isDir()) {
            $sontDir = $dest . DIRECTORY_SEPARATOR  . $iterator->getSubPathName();
            if (!is_dir($sontDir)) {
                mkdir($sontDir, 0755, true);
            }
        } else {
            copy($item, $dest . DIRECTORY_SEPARATOR  . $iterator->getSubPathName());
        }
    }
}
意见反馈