<?php
class
file_dir
{
function
check_exist(
$filename
)
{
if
(
file_exists
(
$filename
))
{
return
true;
}
else
return
false;
}
function
create_dir(
$dirname
,
$mode
=0777)
{
if
(
is_null
(
$dirname
) ||
$dirname
==
""
)
return
false;
if
(!
is_dir
(
$dirname
))
{
return
mkdir
(
$dirname
,
$mode
);
}
}
function
createDir(
$aimUrl
)
{
$aimUrl
=
str_replace
(
'\\'
,
'/'
,
$aimUrl
);
$aimDir
=
''
;
$arr
=
explode
(
'/'
,
$aimUrl
);
foreach
(
$arr
as
$str
)
{
$aimDir
.=
$str
.
'/'
;
if
(!
file_exists
(
$aimDir
))
{
mkdir
(
$aimDir
);
}
}
}
function
delete_dir(
$dirname
)
{
if
(
$this
->check_exist(
$dirname
)
and
is_dir
(
$dirname
))
{
if
(!
$dirhandle
=opendir(
$dirname
))
return
false;
while
((
$file
=readdir(
$dirhandle
))!==false)
{
if
(
$file
==
"."
or
$file
==
".."
)
continue
;
$file
=
$dirname
.DIRECTORY_SEPARATOR.
$file
;
if
(
is_dir
(
$file
))
{
$this
->delete_dir(
$file
);
}
else
{
unlink(
$file
);
}
}
closedir
(
$dirhandle
);
return
rmdir
(
$dirname
);
}
else
return
false;
}
function
copy_dir(
$dirfrom
,
$dirto
)
{
if
(!
is_dir
(
$dirfrom
))
return
false;
if
(!
is_dir
(
$dirto
))
mkdir
(
$dirto
);
$dirhandle
=opendir(
$dirfrom
);
if
(
$dirhandle
)
{
while
(false!==(
$file
=readdir(
$dirhandle
)))
{
if
(
$file
==
"."
or
$file
==
".."
)
continue
;
$filefrom
=
$dirfrom
.DIRECTORY_SEPARATOR.
$file
;
$fileto
=
$dirto
.DIRECTORY_SEPARATOR.
$file
;
if
(
is_dir
(
$filefrom
))
{
$this
->copy_dir(
$filefrom
,
$fileto
);
}
else
{
if
(!
file_exists
(
$fileto
))
copy
(
$filefrom
,
$fileto
);
}
}
}
closedir
(
$dirhandle
);
}
function
getdir_size(
$dirname
)
{
if
(!
file_exists
(
$dirname
)
or
!
is_dir
(
$dirname
))
return
false;
if
(!
$handle
=opendir(
$dirname
))
return
false;
$size
=0;
while
(false!==(
$file
=readdir(
$handle
)))
{
if
(
$file
==
"."
or
$file
==
".."
)
continue
;
$file
=
$dirname
.
"/"
.
$file
;
if
(
is_dir
(
$file
))
{
$size
+=
$this
->getdir_size(
$file
);
}
else
{
$size
+=
filesize
(
$file
);
}
}
closedir
(
$handle
);
return
$size
;
}
function
getReal_size(
$size
)
{
$kb
=1024;
$mb
=
$kb
*1024;
$gb
=
$mb
*1024;
$tb
=
$gb
*1024;
if
(
$size
<
$kb
)
return
$size
.
"B"
;
if
(
$size
>=
$kb
and
$size
<
$mb
)
return
round
(
$size
/
$kb
,2).
"KB"
;
if
(
$size
>=
$mb
and
$size
<
$gb
)
return
round
(
$size
/
$mb
,2).
"MB"
;
if
(
$size
>=
$gb
and
$size
<
$tb
)
return
round
(
$size
/
$gb
,2).
"GB"
;
if
(
$size
>=
$tb
)
return
round
(
$size
/
$tb
,2).
"TB"
;
}
function
copy_file(
$srcfile
,
$dstfile
)
{
if
(
is_file
(
$srcfile
))
{
if
(!
file_exists
(
$dstfile
))
return
copy
(
$srcfile
,
$dstfile
);
}
else
return
false;
}
function
unlink_file(
$filename
)
{
if
(
$this
->check_exist(
$filename
)
and
is_file
(
$filename
))
{
return
unlink(
$filename
);
}
else
return
false;
}
function
getsuffix(
$filename
)
{
if
(
file_exists
(
$filename
)
and
is_file
(
$filename
))
{
return
end
(
explode
(
"."
,
$filename
));
}
}
function
input_content(
$filename
,
$str
)
{
if
(function_exists(
file_put_contents
))
{
file_put_contents
(
$filename
,
$str
);
}
else
{
$fp
=
fopen
(
$filename
,
"wb"
);
fwrite(
$fp
,
$str
);
fclose(
$fp
);
}
}
function
output_content(
$filename
)
{
if
(function_exists(
file_get_contents
))
{
return
file_get_contents
(
$filename
);
}
else
{
$fp
=
fopen
(
$filename
,
"rb"
);
$str
=
fread
(
$fp
,
filesize
(
$filename
));
fclose(
$fp
);
return
$str
;
}
}
function
output_to_array(
$filename
)
{
$file
=file(
$filename
);
$arr
=
array
();
foreach
(
$file
as
$value
)
{
$arr
[]=trim(
$value
);
}
return
$arr
;
}
}
?>