在 PHP 中,$_FILES 数组包含了有关上传文件的信息。其中,'f1' 是文件上传域的名称,'size' 是文件大小的信息。因此,$_FILES['f1']['size'] 表示获取文件上传域 'f1' 中的文件的大小。
例如,下面的代码演示了如何使用 $fsize 变量获取上传文件的大小:
在这里,$fsize 变量被赋值为上传文件的大小,以字节为单位。
注意:在使用 $_FILES 数组时,需要确保 PHP 的文件上传功能已经开启。否则,$_FILES 数组可能无法正常使用。
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获取文件夹大小函数用法。分享给大家供大家参考。具体如下:<?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程序设计有所帮助。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)