2017-07-26 5 views
-1

ディレクトリからすべてのファイルを読み込みたいが、最初の文字を表示する代わりに、特定の行を表示する。ディレクトリからファイルを読み込んで特定の行をエコーする

<?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); 
?> 

ありがとうございます!

+0

「行」は「$ items」に分割されていますか?次に、4行目に '$ items [3]'をエコーすることができます。それ以外の場合は、 '' | ''の代わりに '' \ n "'で展開して行を取得してください。 – rickdenhaan

答えて

-1

ファイルの構造を表示できますか?

$contents = file_get_contents($filename); 
$items = explode("\r\n", $contents); //explode file content 
foreach ($items as $item) { 
    echo $item[3]; //echo your line 
} 
+0

残念ながら、私はすべてのファイルのすべての行のthrid列を取得します。 – METZGERR

1

あなたはfile()機能を使用することができます。 Basicalyあなたはこのようなものを使用することができます。ファイルを配列に読み込み、すべての行が配列メンバーになり、空行をスキップすると、FILE_SKIP_EMPTY_LINESフラグのパラメータが渡されます。

詳細については、docsを参照してください。

0
// `$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` 
関連する問題