I was thinking about a similar solution, but if the file exceeds the 4
Gigabyte limit, the solution won't help anymore. And it wil be a matter
of time to exceed this limit.

But I'm afraid there is no other solution for this.


-----Original Message-----
From: Evan Nemerson [mailto:[EMAIL PROTECTED]] 
Sent: Tuesday, September 10, 2002 12:27 AM
To: Kurt Glazemakers; [EMAIL PROTECTED]
Subject: Re: [PHP] Problems with filesize() and large files

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
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
> 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 (
To unsubscribe, visit:

Reply via email to