[nycphp-talk] cookies and experiation
Margaret Waldman
mmwaldman at nyc.rr.com
Sun Jul 10 10:11:16 EDT 2011
My calcs/prog show
2147483647 really is the biggest int
From: Margaret Waldman
Sent: Sunday, July 10, 2011 9:56 AM
To: NYPHP Talk
Subject: [nycphp-talk] cookies and experiation
I wanted to create a cookie that basically never expires.
time() + x
We can live to say 100 or so, so say 125 years expiration would be good.
time() + 3944700000
But that number is too big.
Intval says on a 32 bit machine max is 2147483647.
So 2147483647 – time() = 4294967294, which is bigger than 2147483647
2147483647 = 68 years but because I’m adding time it grows bigger than the bigger integer
But I really can only do this 2147483647 - time() = 837178076 26 years
But php wasn’t crapping out on 290000000 + time(), so what really is the biggest integer
Time today = 1310305571
Time tomorrow = 1310391971
Next year will be = 1341863171 (42 years)
In 20 years will be = 1372420841 (52 years)
So, 2147483647 – time in 20 year (1372420841) = 775062806 approx 23 years
The numbers don’t look quite right but at time increases the life time you can extend in ints decreases.
So, instead of just adding a value to time, I should
$newLife = 2147483647 - time();
setcookie(“name”, “val”, time() + newLife);
I’m sure by the time, time() grows to be so big that this formula is an issue, integers will be big enough to handle it?
Anyway, does anyone know the real max size of an integer? Cause it ain’t 2147483647 like the docs say for a 32 bit machine.
Margaret Michele Waldman
--------------------------------------------------------------------------------
_______________________________________________
New York PHP Users Group Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk
http://www.nyphp.org/Show-Participation
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.nyphp.org/pipermail/talk/attachments/20110710/349322e4/attachment.html>
More information about the talk
mailing list