本节主要内容:
实现一个获取文件夹大小的php自定义函数。
相比于linux下有du、df等命令,可以查看目录大小、磁盘空间大小。
在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
{ www.
$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遍历文件和文件夹的小例子
php获取文件夹信息的统计函数
php计算指定文件夹信息(文件夹数,文件数,文件夹大小)的代码
php遍历文件夹及其下所有文件的代码
自己写的一个php文件及文件夹操作的类(创建、删除、移动、复制)
1,首先,来看ceil函数。
ceil -- 进一法取整
说明
float ceil ( float value )
返回不小于 value 的下一个整数,value 如果有小数部分则进一位。
ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。
例子 1. ceil()
echo ceil(4.3); // 5
echo ceil(9.999); // 10
?>
#------------
2,floor -- 舍去法取整
说明
float floor ( float value )
返回不大于 value 的下一个整数,将 value 的小数部分舍去取整。
floor() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。
例子 1. floor()
echo floor(4.3); // 4
echo floor(9.999); // 9
?>
#------------
3,round -- 对浮点数进行四舍五入
说明
float round ( float val [, int precision] )
返回将 val 根据指定精度 precision(十进制小数点后数字的数目)进行四舍五入的结果。
precision 也可以是负数或零(默认值)。
例子 1. round()
echo round(3.4); // 3
echo round(3.5); // 4
echo round(3.6); // 4
echo round(3.6, 0); // 4
echo round(1.95583, 2); // 1.96
echo round(1241757, -3); // 1242000
echo round(5.045, 2); // 5.05
echo round(5.055, 2); // 5.06
?>
#---------------
4,intval---对变数转成整数型态
例子,intval()
echo intval(4.3); //4
echo intval(4.6); // 4
?>
本节内容:
实现一个创建文件夹的自定义函数。
例子:
<?php
/**
* 创建文件夹的函数
* edit: www.
*/
function CreateFolder( $resourceType, $currentFolder )
{
if (!isset()($_GET)) {
global $_GET;
}
$sErrorNumber = '0' ;
$sErrorMsg = '' ;
if ( isset( $_GET['NewFolderName'] ) )
{
$sNewFolderName = $_GET['NewFolderName'] ;
$sNewFolderName = SanitizeFolderName( $sNewFolderName ) ;
if ( strpos( $sNewFolderName, '..' ) !== FALSE )
$sErrorNumber = '102' ; // Invalid folder name.
else
{
// Map the virtual path to the local server path of the current folder.
$sServerDir = ServerMapFolder( $resourceType, $currentFolder, 'CreateFolder' ) ;
if ( is_writable( $sServerDir ) )
{
$sServerDir .= $sNewFolderName ;
$sErrorMsg = CreateServerFolder( $sServerDir ) ;
switch ( $sErrorMsg )
{
case '' :
$sErrorNumber = '0' ;
break ;
case 'Invalid argument' :
case 'No such file or directory' :
$sErrorNumber = '102' ; // Path too long.
break ;
default :
$sErrorNumber = '110' ;
break ;
}
}
else
$sErrorNumber = '103' ;
}
}
else
$sErrorNumber = '102' ;
// 显示错误消息
echo '<Error number="' . $sErrorNumber . '" originalDescription="' . ConvertToXmlAttribute( $sErrorMsg ) . '" />' ;
}
您可能感兴趣的文章:
php获取文件夹信息的统计函数
php计算指定文件夹信息(文件夹数,文件数,文件夹大小)的代码
php遍历文件夹及其下所有文件的代码
计算文件夹大小的php代码
自己写的一个php文件及文件夹操作的类(创建、删除、移动、复制)