Php 从目录中读取文件并回显特定行

Php 从目录中读取文件并回显特定行,php,Php,我想从一个目录中读取所有文件,但不是显示第一个字符,而是显示某一行,例如第4行 <?php $directory = "content/"; $dir = opendir($directory); while (($file = readdir($dir)) !== false) { $filename = $directory . $file; $type = filetype($filename); if ($type == 'file') { $cont

我想从一个目录中读取所有文件,但不是显示第一个字符,而是显示某一行,例如第4行

    <?php
$directory = "content/";
$dir = opendir($directory);
while (($file = readdir($dir)) !== false) {
  $filename = $directory . $file;
  $type = filetype($filename);
  if ($type == 'file') {
     $contents = file_get_contents($filename);
     $items = explode("|", $contents);
     foreach ($items as $item) {
       echo "$item[0]";
     }
  }
}
closedir($dir);
?>


谢谢

请出示您的文件结构好吗? 基本上,您可以使用以下内容:

$contents = file_get_contents($filename);
$items = explode("\r\n", $contents); //explode file content
foreach ($items as $item) {
   echo $item[3]; //echo your line
}
您可以使用
file()
函数。它将文件读入一个数组,其中每一行都是一个数组成员,以跳过空行并传递
FILE\u skip\u empty\u lines
标志参数


有关更多信息,请咨询。

您的“行”是否划分为
$items
?然后您可以回显第四行的
$items[3]
。否则,按
“\n”
而不是
“|”
分解以获取行。不幸的是,我得到了所有文件的所有行的第三列,而不是所有文件的第三行。
// `$items` is already an array
$items = explode("|", $contents);
// if you want first element of array just:
echo $item[0];
// if you want fourth element of array just:
echo $item[3];
// without `foreach`