php类型转换格式mb到kb或任何其他格式



有人知道如何将一种类型(可以是byte、kb、mb、gb等)转换为另一种类型吗?例如,我有以下

ini_get('upload_max_filesize') 

//这可能是mb,我现在的值是64m,所以我需要补偿较短的缩写

并且mb中的值我需要将其转换为kb或任何其他类型的

Helper::convertType(ini_get('upload_max_filesize'), 'kb'); the kb coulb be bytes or gb

您可以将此代码用作助手,使其具有可读性:

/***将字节转换为人类可读的文件大小。**@param string$bytes*@return string人类可读文件大小(2.87Мб)*@作者Mogilev Arseny*/函数FileSizeConvert($bytes){$bytes=floatval($bytes);$arBytes=数组(0=>数组("UNIT"=>"TB","VALUE"=>pow(1024,4)),1=>阵列("UNIT"=>"GB","VALUE"=>pow(1024,3)),2=>阵列("UNIT"=>"MB","VALUE"=>pow(1024,2)),3=>阵列("UNIT"=>"KB","VALUE"=>1024),4=>阵列("UNIT"=>"B","VALUE"=>1),);foreach($arBytes作为$arItem){if($bytes>=$arItem["VALUE"]){$result=$bytes/$arItem["VALUE"];$result=str_replace(".",",",strval(round($result,2))。"$arItem["UNIT"];打破}}return$result;}

或者使用此功能手动转换文件大小:

函数changeType($size,$from,$to){$arr=['B','KB','MB','GB','TB'];$tSayi=array_search($to,$arr);$eSayi=array_search($from,$arr);$pow=$eSayi-$tSayi;return$size*pow(1024,$pow)。''$到}echo changeType(1,'MB','KB')

相关内容

最新更新