ファイルを読み取る
readfile はファイルを読み取ります
それでは、どうやってファイルを読み取るのでしょうか?まずは関數(shù)を?qū)W習(xí)しましょう。
int readfile (string $filename)
機(jī)能: ファイルパスを渡してファイルを出力します。
以下のコードでは、ファイル名または指定されたファイルパスが渡される限り、ファイルが読み取られます。
<?php //linux類的讀了方式 readfile("/home/paul/test.txt"); //windows類的讀取方式 readfile("c:\boot.ini"); ?>
注: 上記のコードの Windows スラッシュはスラッシュであり、一部の文字はエスケープされる場合があります。したがって、書くときはスラッシュを 2 つ書きます。
file_get_contentsでファイルを開きます
上記は単純にファイルを開いた直後の出力ですが、ファイルを開いた後に変數(shù)に代入できる操作方法はありますか?
PHP は確かにこのメソッドを提供します。このメソッドは、PHP がファイルを開いてコンテンツを返す方法の 1 つです。関數(shù)を見てみましょう:
string file_get_contents (string filename)
関數(shù): ファイルまたはファイル パスを渡し、ファイルを開いて返します。ファイルの內(nèi)容。ファイルの內(nèi)容は文字列です。
<?php $filename = 'NoAlike.txt'; $filestring = file_get_contents($filename); echo $filestring; ?>
上記のコードはファイルを開き、ファイルの內(nèi)容を出力します。
これまでの知識に基づいてコードを拡張してみましょう。これまでの知識を活用してください。
<?php //假設(shè)我們有一個(gè)多行的文件叫NoAlike.txt,沒有的話你可以新建一個(gè)這個(gè)文件 $filename = 'NoAlike.txt'; //打開這個(gè)文件,將文件內(nèi)容賦值給$filestring $filestring = file_get_contents($filename); //因?yàn)槊恳恍杏幸粋€(gè)回車即\n,我用\n來把這個(gè)字符串切割成數(shù)組 $filearray = explode("\n", $filestring); //把切割成的數(shù)組,下標(biāo)賦值給$key,值賦值給$val,每次循環(huán)將$key加1。 while (list($key, $val) = each($filearray)) { ++$key; $val = trim($val); //用的單引號,單引號不解釋變量進(jìn)行了拼接而已 print 'Line' . $key .':'. $val.'<br />'; } ?>
上記では、これまでに學(xué)んだ知識を組み合わせました。
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)
上記の関數(shù)を通してリソースを説明しましょうタイプの操作メソッド:
1. リソースを開きます
2. 関連関數(shù)を使用して操作します
fopen 関數(shù)の機(jī)能は、ファイルを開くことです。 :
1. ファイルを開くためのパス
2. ファイルを開くモード
戻り値の型は、前の基本的な型で説明したリソース型に初めて遭遇しました。
このリソース タイプでは、このリソースを操作するために他の関數(shù)が必要です。すべてのリソースは、開いたときに閉じる必要があります。
fread関數(shù) この関數(shù)の機(jī)能は、開いているファイルリソースを読み取ることです。指定された長さのファイル リソースを読み取り、その一部を読み取り、一部を後方に移動(dòng)します。ファイルの最後まで。
fclose 関數(shù) fclose 関數(shù)の機(jī)能は、リソースを閉じることです。リソースは開いたり閉じたりします。
関數(shù)を理解すると、最後の 2 つの関數(shù)は比較的簡単です。 fopen 関數(shù)のモードは次のとおりです。 fopen のモードについて説明します。
次に、r モードのみを?qū)W習(xí)します。レッスンの最後に、ライティング時(shí)の他のいくつかのモードについて説明します。
ファイルの書き込みをマスターする前に、まずファイルの読み取り方法を知る必要があります。
1.ファイルを開く
<?php //你可以創(chuàng)建一個(gè)NoAlike.txt,以只讀模式打開 $fp = fopen('NoAlike.txt', "r"); //var_dump()操作一下$fp看看效果,輸出的是不是只有類型提示的是resource var_dump($fp); ?>
2.ファイルを読む
<?php $fp = fopen('NoAlike.txt', "r"); //打開一個(gè)文件類型后,讀取長度 $contents = fread($handle, 1024); ?>
3.ファイルを閉じる
<?php $fp = fopen($filename, 'r'); $contents = fread($fp, 1024); fclose($fp); echo $contents; ?>
その他の注意事項(xiàng):
使用例:
<?php $fp = fopen($filename, 'ab'); $contents = fwrite($fp, '可愛的很\n喲'); fclose($fp); echo $contents; ?>
注:
実験の効果は肉眼では確認(rèn)できません。この機(jī)能だけは覚えておいてください。
Windows には、n を rn に透過的に変換するためのテキスト変換タグ ('t') が用意されています。
同様に、「b」を使用してバイナリ モードを強(qiáng)制し、データが変換されないようにすることもできます。これらのフラグを使用するには、モード引數(shù)の最後の文字として「b」または「t」を使用します。