note 85482 added to function.filesize
| From: | d dot abromeit at osu1 dot php dot net | Date: | Tue, 02 Sep 2008 02:55:07 +0000 |
| Subject: | note 85482 added to function.filesize | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-144064@lists.php.net to get a copy of this message | ||
yes, this function is well known and great
- but if there are values <=0, then you'll get
"warning: division by zero ...".
happens if filesize() returns false on error.
so better use something like this:
<?php
function byte_convert($bytes)
{
$symbol = array('B', 'KiB', 'MiB', 'GiB',
'TiB', 'PiB', 'EiB', 'ZiB', 'YiB');
$exp = 0;
$converted_value = 0;
if( $bytes > 0 )
{
$exp = floor( log($bytes)/log(1024) );
$converted_value = ( $bytes/pow(1024,floor($exp)) );
}
return sprintf( '%.2f '.$symbol[$exp], $converted_value );
}
?>
it returns "0" in our problem cases. you may add "false" for backend-usage also.
;O)
----
Server IP: 217.160.72.57
Probable Submitter: 195.4.221.46
----
Manual Page -- http://www.php.net/manual/en/function.filesize.php
Edit -- https://master.php.net/note/edit/85482
Del: integrated -- https://master.php.net/note/delete/85482/integrated
Del: useless -- https://master.php.net/note/delete/85482/useless
Del: bad code -- https://master.php.net/note/delete/85482/bad+code
Del: spam -- https://master.php.net/note/delete/85482/spam
Del: non-english -- https://master.php.net/note/delete/85482/non-english
Del: in docs -- https://master.php.net/note/delete/85482/in+docs
Del: other reasons-- https://master.php.net/note/delete/85482
Reject -- https://master.php.net/note/reject/85482
Search -- https://master.php.net/manage/user-notes.php