晕了,还要人家给出源代码,够懒的家伙!在这点上,还是用数据库最方便,按时间排序,如果超过50记录就UPDATE最老的那一条!

解决方案 »

  1.   

    我不会写才要源码的呀.......我没用过TEXT数据.
      

  2.   

    呵呵代码,应该很简单的,能看懂:
    <pre>
    <?
    $max_log = 10; //最大记录数
    $logindate = "file.txt"; //日志文件名
    $time = time();
    $date=date("Y-m-d H:i:s",$time);
    $str = $date."|something";
    //要写入的数据,我把日期放在第一个了,如果放在后面,调整下面的$buffer2[0]
    $content = array();
    $index = array();
    if(file_exists($logindate)) {
    $handle=fopen($logindate,"r");
    while (!feof ($handle)) {
    $buffer1 = trim(fgets($handle, 4096));
    $buffer2 = explode("|",$buffer1);
    if(trim ($buffer1) != "") {
    $content[] = $buffer1;
    $index[] = $buffer2[0];
    }
    }
    fclose ($handle);
    }$array_num = count($index);if($array_num<10)$content[$array_num] = $str;
    else {
    $v = false;
    for($i=1;$i<$array_num;$i++) {
    if(strtotime ($index[$i])<strtotime ($index[$i-1])) {
    $v = true;
    break;
    }
    }
    if($v == false) $content[0] = $str;
    else $content[$i] = $str;
    }
    var_dump($content);
    $content = implode("\r\n",$content);
    $handle=fopen($logindate,"w");
    fwrite($handle,$content);
    fclose($handle);
    ?>
    </pre>