PHPでテキストファイルを読む

WBOY
リリース: 2024-02-29 22:12:02
転載
1035 人が閲覧しました

php エディタ Xigua PHP 開発では、テキスト ファイルの読み取りは一般的な操作です。 PHP のファイル読み取り機能を使用すると、テキスト ファイルを開いて内容を簡単に読み取って処理できます。構成ファイル、ログ ファイル、またはその他の種類のテキスト ファイルを読み取る場合、PHP はこの操作を実現するための豊富な関数とメソッドを提供します。この記事では、PHPでテキストファイルを読み取る方法と、よくあるヒントや注意点を紹介します。


phpfgets() 関数を使用して、テキスト ファイルを 1 行ずつ読み取ります。

# を使用できます。 while ループされた fgets() 関数は、PHP でテキスト ファイルを 1 行ずつ読み取ります。この関数は、行が存在する場合は行を返し、読み取る行がもうない場合は false を返します。 2 つのパラメータが必要です。構文は次のとおりです。

fgets($file, $length)
ログイン後にコピー

ここで、$file は、正常に開かれたファイルを指すファイル ポインターに似ています。 $length オプション (オプション)。読み取るバイト数を示します。

open() 関数を使用してファイルを読み取り、while ループを使用して fgets() を介して各行をループします。 ### 関数。次の内容を含むテキスト ファイル abc.txt があります。

Hi
How are you
Have a great day 
ログイン後にコピー

たとえば、変数

$txt_file を作成し、その中に fopen() 関数を記述します。ファイル abc.txtr モードで開きます。行カウンター変数 $a を作成し、値 1 をそれに割り当てます。次に、while ループを作成します。ループの括弧内に、引数として $text_file を取る fgets() 関数を記述します。ループ内の $line 変数に関数を割り当てます。 $line 変数を出力し、ループ本体内の $a 変数に接続します。 $a 変数を追加し、ループの外で fclose() 関数を使用してファイル ストリームを閉じます。

サンプル コード:

<?php
$txt_file = fopen('abc.txt','r');
$a = 1;
while ($line = fgets($txt_file)) {
 echo($a." ".$line)."<br>";
 $a++;
}
fclose($txt_file);
?>
ログイン後にコピー

出力:

1 Hi 
2 How are you 
3 Have a great day
ログイン後にコピー


PHP の

file() 関数を使用して、テキスト ファイルを 1 行ずつ読み取ります

file() この関数は、ファイル全体を array に読み取ります。 file() 関数の構文は次のとおりです。

file($filename, $flag, $context)
ログイン後にコピー

ここで、

$filename は読み込むファイルのパスです。 $flag オプションはオプションであり、FILE_USE_INCLUDE_PATHFILE_IGNORE_NEW_LINESFILE_SKIP_EMPTY_LINES などのさまざまな定数で構成されます。 3 番目もオプションで、コンテキスト リソースを定義します。

file() この関数は、配列が存在する場合は配列全体を返し、そうでない場合は false を返します。この関数を使用すると、foreach() 関数の helo を通じてファイル コンテキストを 1 行ずつ読み取ることができます。 foreach() この関数はコンテンツ全体をループし、各行を個別に抽出します。

たとえば、ファイル パスを変数

$txt_file に保存します。変数 $lines を書き込み、引数として $txt_file を使用して file() 関数を格納します。次に、foreach() 関数を使用して、ファイルの内容をループします。イテレータとして $lines を使用し、値として $num=>$line を使用します。ループの本体内で、$num 変数と $line 変数を出力します。

サンプル コード:

$txt_file = 'abc.txt';

$lines = file($txt_file);
foreach ($lines as $num=>$line)
{
 echo 'Line '.$num.': '.$line.'<br/>';
}
ログイン後にコピー

出力:

Line 0: Hi 
Line 1: How are you 
Line 2: Have a great day
ログイン後にコピー


PHP での

file_get_contents() および explode()## の使用 #関数はファイルを 1 行ずつ読み取ります。

file_get_contents()

この関数は、ファイル全体を string に読み取ります。コンテンツが存在する場合はファイル全体を文字列として返し、存在しない場合は false を返します。ファイルパスを関数の引数として指定できます。 explode() この関数は、区切り文字を使用して文字列を配列に分割します。 explode() 関数の構文は次のとおりです。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;">explode(separator, $string, $limit) </pre><div class="contentsignin">ログイン後にコピー</div></div>

separator

オプションは、値を返すときに $string を要素の数 $limit で区切るために使用されます。 file_get_contents()explode()foreach() 関数を組み合わせて、PHP でテキスト ファイルを 1 行ずつ読み取ることができます。 たとえば、変数

$contents

を作成し、引数にファイル パスを指定して file_get_contents() 関数を記述します。 explode() 関数を、区切り文字として \n 文字、文字列として $contents を指定して使用します。関数を変数 $lines に割り当てます。 foreach ループを使用して、$lines$line にループします。次に、ループ本体内に #$line を出力します。 以下の例では、

$contents

変数は文字列を返します。これを \n 改行を含む配列に分割し、ループを使用して各行を出力します。 サンプルコード:

$contents=file_get_contents("abc.txt");
$lines=explode("\n",$contents);
foreach($lines as $line){
 echo $line.'<br>';

}
ログイン後にコピー

出力:

Hi 
How are you 
Have a great day
ログイン後にコピー

以上がPHPでテキストファイルを読むの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:lsjlt.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート