Just figure out what the limits of 32-bit integers are. It might be enough to 
do something like $num = INT_MAX + abs( INT_MIN - filesize(bigFile) );

I'm not sure if that's the right math, but I hope you get the idea.

If memory serves, what's happening is that the 32nd bit (which represents the 
sign- 0='+', 1='-') is getting flipped because you're trying to store 8 bits 
of data in 7 bits of space.



On Monday 09 September 2002 15:07, Kurt Glazemakers wrote:
> Hi,
>
> I need the filesize in PHP for very large files, over 2 Gigabyte. The
> problem is that the integer returns the size in byte as an integer. If
> the integer is too big, it returns an negative value.
>
> Is it possible to extend the integer to 64 bit ? Or any other solution,
> to solve this problem ?
>
> Example:
>
> C:\php423\php>php -q c:\devel\filesize.php
> int(-834864026)
>
> Which checks the size of a 3 Gigabyte file.
>
> Many thanks,
>
> Kurt


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to