1

テキストファイルの内容を読み取ろうとしていますが、最後に達したときに PHP を中断するように指示する方法がわかりません。

現在のコードは次のとおりです。

<?php

$file = "campaign1_20_db.txt";
$content = file_get_contents($file);
$string = explode("\n",$content);

$index = 0;

while ($index <= 100):

$index = $index + 1;
endwhile;

?>

PHPがテキストファイルの最後に到達することに依存するものに100を置き換えるにはどうすればよいですか?

4

3 に答える 3

3

爆発を使用しているため、行の配列があります。ただし、次のようにすることもできます。

$strings = file($file);

これは、明示的な爆発なしでまったく同じことを行います。次に、その配列に対して単純に foreach ループを実行できます。

foreach($strings as $line) {
  ...
}

これらの各行をループします。ただし、行数を数えようとしているだけなので、 foreach は必要ありません。

$total_lines = count($strings);
于 2012-12-30T15:29:46.790 に答える
1

(行を1つずつ数えることよりも複雑なものがあることを願っています。それ以外の場合は、この回答を無視してください)

ファイルの行を反復処理するために、より軽い (消費されるメモリの観点から) アルゴリズムを使用できます。

$f = fopen('campaign1_20_db.txt');
while ($line = fgets($f)) {
    // your code
}
于 2012-12-30T15:37:23.950 に答える
0

ファイルの終わりに到達したかどうかを確認したい場合は、fopen、fread、feof の古き良き方法を使用する必要があります。コードは次のようになります

 <?php
$file = fopen("file.txt");
while(!feof($file))  {
$content .= fread( $file, 1024 );
}

フェオフ

あなたが見ている関数は file end of と呼ばれます。これは基本的に、ファイルの最後に到達したかどうかを示します。

フレッド

fread コマンドでは、ファイル ハンドラー (fopen によって返される) と読み取る必要があるバイト数を渡します。最大値は、PHP の設定によって異なります。

于 2012-12-30T16:14:27.227 に答える