我用JS做了个计数器,记到74654 好像就超过了范围,这个数我没听说过呀? 请问这个什么类型的数值的最大数 //------JQuery-------------------
 $count_num=1;
 if(file_exists("counter".txt")){ // 如果存放计数器文件已经存在,读取其中的内容
 $fp = fopen("counter".txt", "r"); //以只读方式打开counter.txt文件,counter.txt用来存放计数器的值
 $count_num = fgets($fp,9);  //读取计数器的前8位数字
 $count_num++;    //浏览次数加一
 fclose($fp);    //关闭文件 
 } $fp = fopen("counter".txt", "w"); //以只写的方式打开counter.txt文件,把最新的计数值放入该文件中
 fputs($fp, $count_num);   //写入最新的值
 fclose($fp);
//---------------------以下是记数情况--------
74651 【2010-01-29 01:26:00】 123.92.96.36
74652 【2010-01-29 01:26:01】 58.211.90.10
74653 【2010-01-29 01:26:02】 114.82.209.121
74654 【2010-01-29 01:26:02】 58.62.92.118
 【2010-01-29 01:26:02】 125.76.156.232
 【2010-01-29 01:26:02】 218.23.150.182
 【2010-01-29 01:26:02】 111.180.133.87
 【2010-01-29 01:26:04】 58.218.151.38
 【2010-01-29 01:26:04】 59.39.105.79

解决方案 »

  1.   

    你要读出9字节,你保证count.txt前9个字节是数字,或者说,是能转换成数字的ASCII字符么?
    如果不是,就可能出错。
      

  2.   

    是的 我的一个是记数文本count.txt是记录纯数字
    ---------count--------
    123另一个是count_full.txt 是记录详情的
    ---------count_full--------
    74653 【2010-01-29 01:26:02】 114.82.209.121 
    74654 【2010-01-29 01:26:02】 58.62.92.118 
    【2010-01-29 01:26:02】 125.76.156.232 
      

  3.   

    js没有所谓的int 范围.再都你读出来的是文本.如果你直接使用文本来显示,更加不存在这个数字的大小了.
    是你的记录没处理好.
    保存时,保证每行的格式.
    读时就可以保存不会出错了,
    当文件过大时,应该分开保存了,这时命名上有规律就行了如表示记录的 1_1000.txt 10001-20001.txt
    第行的记录数字 时间 ip
    读时用read line去读.
      

  4.   

    换成 $count = intval(file_get_contents('count.txt')) 吧