mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-02-12 01:54:57 +00:00
added methods filesize() and parse_filesize()
This commit is contained in:
parent
aceea1784b
commit
95c0573d6f
|
@ -43,6 +43,46 @@ class LetoDMS_Core_File {
|
|||
return @removeFile($source);
|
||||
}
|
||||
|
||||
function fileSize($file) {
|
||||
if(!$a = fopen($file, 'r'))
|
||||
return false;
|
||||
fseek($a, 0, SEEK_END);
|
||||
$filesize = ftell($a);
|
||||
fclose($a);
|
||||
return $filesize;
|
||||
}
|
||||
|
||||
function format_filesize($size, $sizes = array('Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB')) {
|
||||
if ($size == 0) return('n/a');
|
||||
return (round($size/pow(1024, ($i = floor(log($size, 1024)))), 2) . ' ' . $sizes[$i]);
|
||||
}
|
||||
|
||||
function parse_filesize($str) {
|
||||
preg_replace('/\s\s+/', ' ', $str);
|
||||
if(strtoupper(substr($str, -1)) == 'B') {
|
||||
$value = (int) substr($str, 0, -2);
|
||||
$unit = substr($str, -2, 1);
|
||||
} else {
|
||||
$value = (int) substr($str, 0, -1);
|
||||
$unit = substr($str, -1);
|
||||
}
|
||||
switch(strtoupper($unit)) {
|
||||
case 'G':
|
||||
return $value * 1024 * 1024 * 1024;
|
||||
break;
|
||||
case 'M':
|
||||
return $value * 1024 * 1024;
|
||||
break;
|
||||
case 'K':
|
||||
return $value * 1024;
|
||||
break;
|
||||
default;
|
||||
return $value;
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function renameDir($old, $new) {
|
||||
return @rename($old, $new);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user