44 lines
1.0 KiB
PHP
44 lines
1.0 KiB
PHP
<?php
|
|
|
|
namespace kernel\helpers;
|
|
|
|
use FilesystemIterator;
|
|
|
|
class Files
|
|
{
|
|
public function copy_folder($d1, $d2): void
|
|
{
|
|
if (is_dir($d1)) {
|
|
if (!file_exists($d2)){
|
|
$_d2 = mkdir($d2, permissions: 0755, recursive: true);
|
|
if (!$_d2) {
|
|
return;
|
|
}
|
|
}
|
|
|
|
$d = dir($d1);
|
|
while (false !== ($entry = $d->read())) {
|
|
if ($entry != '.' && $entry != '..') {
|
|
$this->copy_folder("$d1/$entry", "$d2/$entry");
|
|
}
|
|
}
|
|
$d->close();
|
|
} else {
|
|
copy($d1, $d2);
|
|
}
|
|
}
|
|
|
|
public function recursiveRemoveDir($dir): void
|
|
{
|
|
$includes = new FilesystemIterator($dir);
|
|
foreach ($includes as $include) {
|
|
if(is_dir($include) && !is_link($include)) {
|
|
$this->recursiveRemoveDir($include);
|
|
}
|
|
else {
|
|
unlink($include);
|
|
}
|
|
}
|
|
rmdir($dir);
|
|
}
|
|
} |