之前有说过大整数问题。http://www.phpfans.net/blog/2/article/33.html
在工作中又遇到了这个问题。
做相册时,falsh为了区分上传相片,传递一个微妙为单位的时间戳过去给php。参考相册视频的程序,将这个时间戳intval一个。不intval倒没问题,intval问题就来了:
时间戳类似于下面的id
PHP代码
- <?php
- $id = '1259916810671';
- $id2 = '1261993839812';
- var_dump(intval($id));
- var_dump(intval($id2));
- ?>
在 PHP 5.2.0 中输出结果是:(不同版本会有差异)
int(2147483647)
int(2147483647)
都是同一整数,所以后面在上传的相片用这个id去取的时候都是返回第一张。
又是超出了php integer 的范围。
还有就是,相册的相片是保存在100个表中,用通过用户id(之前的相册程序用户id是用整数而不是现在我们用的user_id)求模100得出。由于注册量比较多,用户id也是相当大
以下的程...