
<?php
//
获取文件夹大小
function
getDirSize($dir)
{
$handle
=
opendir($dir)
while
(false!==($FolderOrFile
=
readdir($handle)))
{
if($FolderOrFile
!=
"."
&&
$FolderOrFile
!=
"..")
{
if(is_dir("$dir/$FolderOrFile"))
{
$sizeResult
+=
getDirSize("$dir/$FolderOrFile")
}
else
{
$sizeResult
+=
filesize("$dir/$FolderOrFile")
}
}
}
closedir($handle)
return
$sizeResult
}
//
单位自动转换函数
function
getRealSize($size)
{
$kb
=
1024
//
Kilobyte
$mb
=
1024
*
$kb
//
Megabyte
$gb
=
1024
*
$mb
//
Gigabyte
$tb
=
1024
*
$gb
//
Terabyte
if($size
<
$kb)
{
return
$size."
B"
}
else
if($size
<
$mb)
{
return
round($size/$kb,2)."
KB"
}
else
if($size
<
$gb)
{
return
round($size/$mb,2)."
MB"
}
else
if($size
<
$tb)
{
return
round($size/$gb,2)."
GB"
}
else
{
return
round($size/$tb,2)."
TB"
}
}
echo
getRealSize(getDirSize('需要获取大小的目录'))
?>
希望本文所述对大家的php程序设计有所帮助。
$filesize=abs(filesize($filename))if($filesize<5120){//小于5K
//执行代码
}else{ //大于5K
//执行代码
}
函数filesize()返回的是以字节为单位的文件大小。参数是文件名
可以使用scandir()和filesize()函数实现:
$path="."//.是当前目录,你可以换成自己的目录地址foreach(scandir($path) as $v){
if(!is_dir($v)){//如果不是目录,就是文件了
$size=filesize($v)
echo "文件:".$v." 大小:".byte_format($size)."<br>"//单位是kb
}
}
//格式化函数
function byte_format($size, $dec=2){
$a = array("B", "KB", "MB", "GB", "TB", "PB")
$pos = 0
while ($size >= 1024) {
$size /= 1024
$pos++
}
return round($size,$dec)." ".$a[$pos]
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)