Php 从指定行读取文本文件

Php 从指定行读取文本文件,php,Php,如何从指定行读取到指定行 ### users user name : albert user name : asqkut user name : ahddrt user name : khert ### info line 1 line 2 line 3 .... ### banned 192.168.1.1 192.168.1.2 192.168.1.3 192.168.1.4 我想知道如何从“信息”中阅读,并在“禁止”处停留,以便在两者之间找到日期 感谢您的帮助如果您的文本

如何从指定行读取到指定行

### users

user name : albert
user name : asqkut
user name : ahddrt
user name : khert

### info

line 1 
line 2
line 3
....



### banned

192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.4
我想知道如何从“信息”中阅读,并在“禁止”处停留,以便在两者之间找到日期


感谢您的帮助

如果您的文本文件中没有很多这样的
\n\n

### users
user name : albert
user name : asqkut
user name : ahddrt
user name : khert
### info
line 1 
line 2
line 3
....
### banned
192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.4
您可以在这样的数组中获取数据

$lines = file_get_contents("file.txt");
$start = strpos($lines, "### info");
$end = strpos($lines, "### banned");
$result = explode("\r\n",substr($lines, $start+10,$end-$start-11));
var_dump($result);
你会得到的结果是

 array (size=4)
  0 => string 'line 1' (length=6)
  1 => string 'line 2' (length=6)
  2 => string 'line 3' (length=6)
  3 => string '....
' (length=5)

我建议查看SplFileObj,它允许您在知道所需行的情况下直接查找该行,否则可以轻松地对其进行迭代


看起来是开始使用dbi的一个很好的理由,我会解释更多我有3个表的db用户和信息,禁止我在这里尝试从let say######信息中读取的内容,并导出之间的日期,我知道如何将其导出到我的db中,但我一直无法从特定的#######…你说文本文件我指的是这样的关系数据库吗正如MySQL
while(fgets($fh)!='#####info'){/*什么都不做*/}而($line=fgets($fh)!='########禁止'){/*做点什么*/}
+1到达贡。如果你是从一个实际的数据库中提取这个数据,你就选择了一种糟糕的导出格式。是的,我想知道的是如何从######信息中读取数据,然后停在############禁止在你和你之间获取数据,这对你很有帮助。不客气,如果你把它设置为正确答案并投赞成票,那就太好了:)