文件夾大小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. 在要確認上傳的