PHP filesize() 函数
导读:收集整理的这篇文章主要介绍了PHP filesize( 函数,觉得挺不错的,现在分享给大家,也给大家做个参考。filesize作用:函数返回指定文件的大小语法:filesize(filename 参数:filename:必需。规定要检查的...
收集整理的这篇文章主要介绍了PHP filesize() 函数,觉得挺不错的,现在分享给大家,也给大家做个参考。filesize作用:函数返回指定文件的大小
语法:
filesize(filename)
参数:
filename:必需。规定要检查的文件。
返回值:
返回文件大小的字节数,如果出错返回 FALSE 并生成一条 E_WARNING 级的错误。
filesize 示例
示例一
?php// 输出类似:somefile.txt: 1024 bytes$filename = 'somefile.txt';
echo $filename . ': ' . filesize($filename) . ' bytes';
?>
示例二
?phpfunction human_filesize($bytes, $decimals = 2) {
$sz = 'BKMGTP';
$factor = floor((strlen($bytes) - 1) / 3);
return sPRintf("%.{
$decimals}
f", $bytes / pow(1024, $factor)) . @$sz[$factor];
}
?>
示例三
?php/*** Converts bytes into human readable file size.** @param string $bytes* @return string human readable file size (2,87 Мб)* @author Mogilev Arseny*/function FileSizeConvert($bytes){
$bytes = floatval($bytes);
$arBytes = array( 0 =>
array( "UNIT" =>
"TB", "VALUE" =>
pow(1024, 4) ), 1 =>
array( "UNIT" =>
"GB", "VALUE" =>
pow(1024, 3) ), 2 =>
array( "UNIT" =>
"mB", "VALUE" =>
pow(1024, 2) ), 3 =>
array( "UNIT" =>
"KB", "VALUE" =>
1024 ), 4 =>
array( "UNIT" =>
"B", "VALUE" =>
1 ), );
foreach($arBytes as $arItem) {
if($bytes >
= $arItem["VALUE"]) {
$result = $bytes / $arItem["VALUE"];
$result = str_replace(".", "," , strval(round($result, 2)))." ".$arItem["UNIT"];
break;
}
}
return $result;
}
?>
示例四
?php/*** Return file size (even for file >
2 Gb)* For file size over PHP_INT_MAX (2 147 483 647), PHP filesize function loops From -PHP_INT_MAX to PHP_INT_MAX.** @param string $path Path of the file* @return mixed File size or false if error*/function realFileSize($path){
if (!file_exists($path)) return false;
$size = filesize($path);
if (!($file = foPEn($path, 'rb'))) return false;
if ($size >
= 0) {
//Check if it really is a small file ( 2 GB) if (fseek($file, 0, SEEK_END) === 0) {
//It really is a small file fclose($file);
return $size;
}
}
//Quickly jump the First 2 GB with fseek. After that fseek is not working on 32 bit php (it uses int internally) $size = PHP_INT_MAX - 1;
if (fseek($file, PHP_INT_MAX - 1) !== 0) {
fclose($file);
return false;
}
$length = 1024 * 1024;
while (!feof($file)) {
//Read the file until end $read = fread($file, $length);
$size = bCADd($size, $length);
}
$size = bcsub($size, $length);
$size = bcadd($size, strlen($read));
fclose($file);
return $size;
}
推荐教程:《PHP》
以上就是PHP filesize() 函数的详细内容,更多请关注其它相关文章!
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: PHP filesize() 函数
本文地址: https://pptw.com/jishu/596625.html
