2

PHP を使用して、.txt ファイルから選択した行のみをエコーする必要があります。txt ファイルの内容は次のようになります。

1 111 111 111 111 111 111 111 111 111 111
2 196 182 227 190 195 196 278 197 323 265
3 84.1 84.1 84.1 84.2 85.4 84.1 84.2 84.1 84.1 84.1
4 107 107 107 107 107 107 107 107 107 107
5 10.0 9.29 9.86 9.90 9.57 9.56 9.52 9.55 10.0 9.62
6 0.652 0.622 0.676 0.617 0.637 0.617 0.563 0.601 0.586 0.601
7 132 132 132 132 132 132 481 132 132 132
8 113 113 113 113 113 113 113 113 113 113
9 510 571 604 670 647 667 656 257 264 431
10 245 246 247 246 246 245 247 246 247 247

以前の作業コードはすべての行をエコーし​​ていました。

$fp = fopen("http://xxx/myfile.txt","r");
while (!feof($fp)) {
$page .= fgets($fp, 4096); 
}
fclose($fp); 
echo $page;
break;

同じフォーマットを取得しようとしていますが、選択した行のみを使用しています。たとえば、3、5、8、10 という行だけを考えてみましょう。

2 番目のステップは、行を最初の順序とは異なる順序でエコーできるかどうかです。

誰かがそれを行う簡単な方法を知っていれば、それは素晴らしいでしょう!
事前にサンクス。

4

3 に答える 3

4
$lines = file('http://xxx/myfile.txt');

print $lines[2];  // line 3
print $lines[4];  // line 5
...

見るfile()

于 2013-02-07T12:51:13.687 に答える
1

これを行う方法の例を次に示します。

function echo_selected_lines_of_file($file, array $lines)
{
    $fContents = file_get_contents($file); // read the file
    $fLines = explode("\n", $fContents); // split the lines
    foreach($fLines as $key=>$fLine) // foreach line...
        if(in_array($key, $lines)) //if its in the $lines array, print it
            echo $fLine.'<br>';
}

echo_selected_lines_of_file('index.php', array(1,4,7));
于 2013-02-07T12:56:32.290 に答える