Files
dev.ttsby.com/_core/function/dir.func.php
2023-04-17 11:06:08 +09:00

114 lines
2.4 KiB
PHP

<?php
//디렉토리복사
function DirCopy($dir1 , $dir2)
{
$dirh = opendir($dir1);
while(false !== ($filename = readdir($dirh)))
{
if($filename != '.' && $filename != '..')
{
if(!is_file($dir1.'/'.$filename))
{
@mkdir($dir2.'/'.$filename , 0707);
@chmod($dir2.'/'.$filename , 0707);
DirCopy($dir1.'/'.$filename , $dir2.'/'.$filename);
}
else
{
@copy($dir1.'/'.$filename , $dir2.'/'.$filename);
@chmod($dir2.'/'.$filename , 0707);
}
}
}
closedir($dirh);
}
//디렉토리삭제
function DirDelete($t_dir)
{
$dirh = opendir($t_dir);
while(false !== ($filename = readdir($dirh)))
{
if($filename != '.' && $filename != '..')
{
if(!is_file($t_dir.'/'.$filename))
{
DirDelete($t_dir.'/'.$filename);
}
else {
@unlink($t_dir.'/'.$filename);
}
}
}
closedir($dirh);
@rmdir($t_dir);
}
//디렉토리사이즈/파일갯수
function DirSizeNum($t_dir)
{
$dirh = opendir($t_dir);
while(false !== ($filename = readdir($dirh)))
{
if($filename != '.' && $filename != '..')
{
if(!is_file($t_dir.'/'.$filename)) {
$s = DirSizeNum($t_dir.'/'.$filename);
$d['size'] += $s['size'];
$d['num'] += $s['num'];
}
else {
$d['size'] += filesize($t_dir.'/'.$filename);
$d['num']++;
}
}
}
closedir($dirh);
return $d;
}
//퍼미션변경
function DirChmod($t_dir,$mode)
{
$dirh = opendir($t_dir);
while(false !== ($filename = readdir($dirh)))
{
if($filename != '.' && $filename != '..')
{
if(!is_file($t_dir.'/'.$filename))
{
@chmod($t_dir.'/'.$filename,$mode);
DirChmod($t_dir.'/'.$filename,$mode);
}
else {
@chmod($t_dir.'/'.$filename,$mode);
}
}
}
closedir($dirh);
@chmod($t_dir,$mode);
}
//압축
function DirZip($t_dir,$n_dir,$zipfile)
{
$dirh = opendir($t_dir);
while(false !== ($filename = readdir($dirh)))
{
if($filename != '.' && $filename != '..')
{
if(!is_file($t_dir.'/'.$filename))
{
$zipfile -> add_file('',$n_dir.'/'.$filename.'/');
DirZip($t_dir.'/'.$filename,$n_dir.'/'.$filename,$zipfile);
}
else {
$zipfile -> add_file($t_dir.'/'.$filename,$n_dir.'/'.$filename);
}
}
}
closedir($dirh);
}
//디렉토리생성
function DirMake($dir)
{
@mkdir($dir,0707);
@chmod($dir,0707);
}
?>