文件夹大小php
本文实例讲述了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程序设计有所帮助。
② PHP怎么获取文件大小
filesize
(PHP 4, PHP 5)
filesize — 取得文件大小
说明
int filesize ( string $filename )
返回文件大小的字节数,如果出错返回 FALSE 并生成一条 E_WARNING 级的错误。
Note: 因为 PHP 的整数类型是有符号的,并且大多数平台使用 32 位整数,filesize() 函数在碰到大于 2GB 的文件时可能会返回非预期的结果。对于 2GB 到 4GB 之间的文件通常可以使用 sprintf("%u", filesize($file)) 来克服此问题。
Note: 此函数的结果会被缓存。参见 clearstatcache() 以获得更多细节。
Tip
自 PHP 5.0.0 起, 此函数也用于某些 URL 包装器。请参见 Supported Protocols and Wrappers以获得支持 stat() 系列函数功能的包装器列表。
Example #1 filesize() 例子
<?php
// 输出类似:somefile.txt: 1024 bytes
$filename = 'somefile.txt';
echo $filename . ': ' . filesize($filename) . ' bytes';
?>
参见 file_exists()。
③ 如何用PHP获取文件夹的大小(包括子文件夹)
这个函数应该能满足你的要求
functiongetDirSize($dir)
{
$size=0;
$dirs=[$dir];
while(@$dir=array_shift($dirs)){
$fd=opendir($dir);
while(@$file=readdir($fd)){
if($file=='.'&&$file=='..'){
continue;
铅大做}
$file=$dir.DIRECTORY_SEPARATOR.$file;
仿圆if(is_dir($file)){
array_push($dirs,$file);
}else{
$size槐衡+=filesize($file);
}
}
closedir($fd);
}
return$size;
}
④ php判断文件大小
$filesize=abs(filesize($filename));
if($filesize<5120){ //小于5K
//执行代码
}else{ //大于5K
//执行代码
}
函数filesize()返回的是以字节为单位的文件大小。参数是文件名
⑤ php如何检测某文件夹里的各个文件夹大小
可以使用scandir()和filesize()函数实现:
$path=".";//.是当前目录,你可以换成自己的目录地址
foreach(scandir($path)as$v){
if(!is_dir($v)){//如果不是目录,就是文件了
$size=filesize($v);
echo"文件:".$v."大小:".byte_format($size)."<br>";//单位是kb
}
}
//格式化函数
functionbyte_format($size,$dec=2){
$a=array("B","KB","MB","GB","TB","PB");
$pos=0;
while($size>=1024){
$size/=1024;
$pos++;
}
returnround($size,$dec)."".$a[$pos];
}
⑥ 如何修改PHP上传文件大小限制
1. 在php.ini中,做如下修改:x0dx0a file_uploads = onx0dx0a upload_tmp_dir = /home/uploadx0dx0a upload_max_filesize = 4000Mx0dx0a post_max_size = 4000Mx0dx0a 一般地,设置好上述四个参数后,上传<=8M的文件是不成问题,在网络正常的情况下。x0dx0a 但如果要上传>8M的大体积文件,只设置上述四项还一定能行的通。除非你的网络真有100M/S的上传高速,否则你还得关心关心下面的参数:x0dx0a max_execution_time = 600x0dx0a max_input_time = 600x0dx0a memory_limit = 128Mx0dx0ax0dx0a2. 在要确认上传的