怎么用php判断1.txt超过8个li就删除最上面的li,而不影响下面的li继续添加?

php自动生成的1.txt里默认是1个li,时间长了就到了8个了,
下面的php是利用a+不停往1.txt最后添加li,怎么让php判断超过8个li就删除最上面的一个li,而不影响下面的li继续添加?
$TxtRes=fopen ('1.txt',"a+");
$StrConents = "<li onClick="ren(this,'@$userName ')"><span class="memory_chat_username">$userName :</span><span class="memory_chat_context">$userContext</span></li>";//要写进文件的内容
!fwrite ($TxtRes,$StrConents); //将信息写入文件
fclose($TxtRes);
exit();

阅读 1.7k
1 个回答

已经解决了,代码重写了,csdn的大神帮的忙
代码:

<?php
$TxtRes=file_get_contents ('1.txt');
preg_match_all('/<li[\s\S]+?<\/li>/',$TxtRes,$m);
$i = count($m[0]);
if($i>8){
    array_shift($m[0]);
}
$userName = 'aaa'.$i;
$userContext = 'kkk'.$i;
$StrConents = "<li onClick=\"ren(this,'@$userName ')\"><span class=\"memory_chat_username\">$userName :</span><span class=\"memory_chat_context\">$userContext</span></li>";//要写进文件的内容
array_push($m[0],$StrConents);
file_put_contents ('1.txt',implode($m[0]));
exit();
?>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题