前回の記事では、主にPHP正規表現の基礎知識とその使い方を例を交えて解説した「PHPの楽しい正規表現の基礎(詳細図解)」をお届けしました。 . 使い方を学びましょう。この記事では、引き続き PHP ファイル システムについて学習します。お役に立てれば幸いです!
コンピュータを使用するとき、私たちは皆、ファイルを開いたり閉じたり、ファイルを作成したり、ファイルをアップロードしたりするためにコンピュータを使用します。では、これらの操作はコードで実行できるのでしょうか?それができる場合、どのように行うべきですか?実際、それは非常に単純で、ファイル処理を学習することは、実際にファイル処理の機能を学習し、それを以前に学習したことと組み合わせるということです。それでは次に見てみましょう。
ファイルの読み取りは、日常的に使用する最も一般的な操作の 1 つであるため、それをコードに実装する方法。
ここでは、PHP の関数を使用してファイルの内容を読み取る方法を紹介します。
fgetc()
: ファイルから文字を読み取る
これらの関数を使用してファイルを読み取る前に、まず、サーバーのルート ディレクトリにテキスト ファイルを作成する必要があります (ここでは例として text.txt を使用します)。テキストの内容は次のとおりです:
見てみましょうfgetc() の使用方法と出力結果:
<?php header("Content-Type: text/html;charset=utf-8"); $handle = fopen('test.txt', 'r'); $a = fgetc($handle) ; echo $a; ?>
出力結果:
fgetc は文字の取得のみを読み取ることができます前述のループを使用して結合すると、次の例が得られます:
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $handle = fopen('test.txt', 'r'); //打开文件 if (!$handle) { //判断文件是否打开成功 echo '文件打开失败!'; } while (false !== ($char = fgetc($handle))) { //循环读取文件内容 echo $char; } fclose($handle); //关闭文件 ?>
出力結果:
fgets()
および fgetss()
: ファイルを 1 行ずつ読み取ります
<?php header("Content-Type: text/html;charset=utf-8"); $handle = fopen('test.txt', 'r'); $a = fgets($handle) ; echo $a; ?>
出力結果:
fgetss() 関数は fgets() のバリアントで、データ行の読み取りにも使用され、読み取り中にフィルター処理も行います。読み取ったコンテンツの PHP タグと HTML タグを削除します。
fgets を使用してファイルを 1 行ずつ読み取ることができることがわかります。同時に、上記と同様に、ループを使用してすべてのファイルを読み取ることができます。 。
例は次のとおりです:
<?php $handle = @fopen("test.txt", "r"); if ($handle) { while (($info = fgets($handle, 1024)) !== false) { echo $info.'<br>'; } fclose($handle); } ?>
出力結果:
##fread( ): ファイルを読み取ります (任意の長さ)
##
<?php $filename = "test.txt"; $handle = fopen($filename, "r"); $contents = fread($handle, '6'); echo '从文件中读取 6 个字符长度:'.$contents.'<br>'; rewind($handle); $contents = fread($handle, filesize($filename)); echo '读取全部的文件内容:'.$contents; fclose($handle); ?>出力結果:
readfile(): すべてのファイルを読み取ります <?php
$file = 'test.txt';
$info = readfile($file);
?>
出力結果:
#file(): ファイル全体を配列に読み込みます。<?php
$file = 'test.txt';
$arr = file($file, FILE_IGNORE_NEW_LINES);
$arr2 = file($file);
echo '<pre class="brush:php;toolbar:false">';
var_dump($arr);
var_dump($arr2);
?>
出力結果:
: ファイルを文字列に読み取ります。 #まず、最初にtest.txt ファイル
<?php $a = 'test.txt'; $b = file_get_contents($a); //因为每一行有一个回车即\n,我用\n来把这个字符串切割成数组 $c = explode("\n", $b); //把切割成的数组,下标赋值给$key,值赋值给$val,每次循环将$key加1。 while (list($key, $val) = each($c)) { ++$key; $val = trim($val); //用的单引号,单引号不解释变量进行了拼接而已 print 'Line' . $key .':'. $val.'<br />'; } ?>これを以前に学んだ知識と組み合わせると、出力結果は次のようになります: これまでに学んだ知識の統合ですが、まず file_get_contents でファイルを開き、各ステートメントのリストと while ループで出力結果を取得しました。
拡張知識: fopen、fread、fclose 操作 read
ファイルを開く上記の file_get_contents メソッドは単純かつ粗雑ですが、次のメソッドはいくつかのresource fopen ( string $文件名, string 模式)
string fread ( resource $操作资源, int 读取长度)
bool fclose ( resource $操作资源 )
上記の機能を通じて、リソースタイプの通常の操作方法を説明します。
リソースを開く
使用 関連関数による操作の実行
リソースを閉じる
fopen 関数 fopen 関数の機能はファイルを開くことです。主なパラメータは 2 つあります:
ファイルを開くパス
オープン ファイル モード
戻り値の型はリソース タイプであり、このリソース タイプはこのリソースを操作するために他の関数を必要とします。すべてのリソースは、開いたときに閉じる必要があります。
fread 関数: この関数の機能は、開いているファイル リソースを読み取ることです。指定された長さのファイル リソースを読み取り、その一部を読み取り、一部を後方に移動します。ファイルの最後まで。
fclose 関数: fclose 関数の機能は、リソースを閉じることです。リソースは開いたり閉じたりします。
次に、fopen 関数のモードを紹介します。
r
読み取り専用モードで開き、ファイル ポインタをポイントします。ファイルヘッダーに。
r
読み取り/書き込みモードで開き、ファイル ポインタをファイル ヘッダーにポイントします。
w
書き込みモードを開き、ファイル ポインタをファイル ヘッダーにポイントし、ファイル サイズをゼロにカットします。ファイルが存在しない場合は、ファイルの作成を試みます。
w
読み取り/書き込みモードで開き、ファイル ポインタをファイル ヘッダーにポイントし、ファイル サイズを切り詰めます。ゼロに。
#a
書き込みモードで開き、ファイル ポインタをファイルの末尾にポイントします。ファイルが存在しない場合は、ファイルの作成を試みます。
a
読み取り/書き込みモードでファイルを開き、ファイル ポインタをファイルの末尾にポイントします。ファイルが存在しない場合は、ファイルの作成を試みます。
#x ファイル ポインタをファイル ヘッダーに指定して、書き込み用にファイルを作成して開きます。ファイルが既に存在する場合、 fopen() 呼び出しは失敗し、FALSE を返し、E_WARNING レベルのエラー メッセージを生成します。ファイルが存在しない場合は、ファイルの作成を試みます。
ファイル ポインタをファイル ヘッダーに指定して、読み取り/書き込みモードでファイルを作成して開きます。ファイルが既に存在する場合、 fopen() 呼び出しは失敗し、FALSE を返し、E_WARNING レベルのエラー メッセージを生成します。ファイルが存在しない場合は、作成してみてください。
以上がPHPでファイルを読み取るにはどうすればよいですか? (シェア概要)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。