ファイルを読み取る
readfile はファイルを読み取ります
それでは、どうやってファイルを読み取るのでしょうか?まずは関数を学習しましょう。
int readfile (string $filename)
機能: ファイルパスを渡してファイルを出力します。
以下のコードでは、ファイル名または指定されたファイルパスが渡される限り、ファイルが読み取られます。
<?php //linux类的读了方式 readfile("/home/paul/test.txt"); //windows类的读取方式 readfile("c:\boot.ini"); ?>
注: 上記のコードの Windows スラッシュはスラッシュであり、一部の文字はエスケープされる場合があります。したがって、書くときはスラッシュを 2 つ書きます。
file_get_contentsでファイルを開きます
上記は単純にファイルを開いた直後の出力ですが、ファイルを開いた後に変数に代入できる操作方法はありますか?
PHP は確かにこのメソッドを提供します。このメソッドは、PHP がファイルを開いてコンテンツを返す方法の 1 つです。関数を見てみましょう:
string file_get_contents (string filename)
関数: ファイルまたはファイル パスを渡し、ファイルを開いて返します。ファイルの内容。ファイルの内容は文字列です。
<?php $filename = 'NoAlike.txt'; $filestring = file_get_contents($filename); echo $filestring; ?>
上記のコードはファイルを開き、ファイルの内容を出力します。
これまでの知識に基づいてコードを拡張してみましょう。これまでの知識を活用してください。
<?php //假设我们有一个多行的文件叫NoAlike.txt,没有的话你可以新建一个这个文件 $filename = 'NoAlike.txt'; //打开这个文件,将文件内容赋值给$filestring $filestring = file_get_contents($filename); //因为每一行有一个回车即\n,我用\n来把这个字符串切割成数组 $filearray = explode("\n", $filestring); //把切割成的数组,下标赋值给$key,值赋值给$val,每次循环将$key加1。 while (list($key, $val) = each($filearray)) { ++$key; $val = trim($val); //用的单引号,单引号不解释变量进行了拼接而已 print 'Line' . $key .':'. $val.'<br />'; } ?>
上記では、これまでに学んだ知識を組み合わせました。
fopen、fread、および fclose 操作はファイルを読み取ります
ファイルを開く上記の file_get_contents メソッドは単純かつ粗雑です。以下の
resource fopen ( string $ file name, string mode)
string fread ( resource $operation resource, int read length)
bool fclose ( resource $operation resource)
上記の関数を通してリソースを説明しましょうタイプの操作メソッド:
1. リソースを開きます
2. 関連関数を使用して操作します
fopen 関数の機能は、ファイルを開くことです。 :
1. ファイルを開くためのパス
2. ファイルを開くモード
戻り値の型は、前の基本的な型で説明したリソース型に初めて遭遇しました。
このリソース タイプでは、このリソースを操作するために他の関数が必要です。すべてのリソースは、開いたときに閉じる必要があります。
fread関数 この関数の機能は、開いているファイルリソースを読み取ることです。指定された長さのファイル リソースを読み取り、その一部を読み取り、一部を後方に移動します。ファイルの最後まで。
fclose 関数 fclose 関数の機能は、リソースを閉じることです。リソースは開いたり閉じたりします。
関数を理解すると、最後の 2 つの関数は比較的簡単です。 fopen 関数のモードは次のとおりです。 fopen のモードについて説明します。
次に、r モードのみを学習します。レッスンの最後に、ライティング時の他のいくつかのモードについて説明します。
ファイルの書き込みをマスターする前に、まずファイルの読み取り方法を知る必要があります。
1.ファイルを開く
<?php //你可以创建一个NoAlike.txt,以只读模式打开 $fp = fopen('NoAlike.txt', "r"); //var_dump()操作一下$fp看看效果,输出的是不是只有类型提示的是resource var_dump($fp); ?>
2.ファイルを読む
<?php $fp = fopen('NoAlike.txt', "r"); //打开一个文件类型后,读取长度 $contents = fread($handle, 1024); ?>
3.ファイルを閉じる
<?php $fp = fopen($filename, 'r'); $contents = fread($fp, 1024); fclose($fp); echo $contents; ?>
その他の注意事項:
使用例:
<?php $fp = fopen($filename, 'ab'); $contents = fwrite($fp, '可爱的很\n哟'); fclose($fp); echo $contents; ?>
注:
実験の効果は肉眼では確認できません。この機能だけは覚えておいてください。
Windows には、n を rn に透過的に変換するためのテキスト変換タグ ('t') が用意されています。
同様に、「b」を使用してバイナリ モードを強制し、データが変換されないようにすることもできます。これらのフラグを使用するには、モード引数の最後の文字として「b」または「t」を使用します。