ホームページ >バックエンド開発 >PHPチュートリアル >PHP_PHP チュートリアルで一般的に使用されるファイル操作の読み取りおよび書き込み関数の概要

PHP_PHP チュートリアルで一般的に使用されるファイル操作の読み取りおよび書き込み関数の概要

WBOY
WBOYオリジナル
2016-07-13 17:13:05966ブラウズ

この記事では、よく使用される次のファイル操作関数を紹介します file_get_contents はファイルの内容全体を読み取ります fopen ファイルを作成して開きます fclose はファイルを閉じます fgets はファイルの内容を 1 行読み取ります file_exists はファイルまたはディレクトリが存在するかどうかを確認します file_put_contents はファイルに書き込みます fwrite はファイルを書き込みます

PHP 組み込み関数 file_exists を使用して、ファイルまたはディレクトリが存在するかどうかを確認します。 file_exists 関数は、ファイルまたはディレクトリが存在する場合は TRUE を返し、存在しない場合は FALSE を返します。

以下は、ファイルが存在するかどうかを確認するための簡単なコード例です:

コードは次のとおりです コードをコピー
$filename = "C:blablaphphello.txt";
if (file_exists($filename))
{echo "ファイル $filename が存在します。";
}その他{
echo "ファイル $filename は存在しません。"
;}?>


ファイルが存在する場合、PHP ファイルの実行結果は次のように表示されます:

ファイル C:blablaphphello.txt が存在します。
ファイルが存在しない場合、PHP ファイルの実行結果は次のように表示されます:

ファイル C:blablaphphello.txt は存在​​しません。
file_exists 関数を使用して、ディレクトリが存在するかどうかをテストすることもできます。サンプルコードは次のとおりです。

コードは次のとおりですコードをコピー
if (file_exists("C:blablaphp"))

{エコー「はい」;}
それ以外
{エコー「いいえ」;}

ファイルの内容全体は、PHP 組み込み関数 file_get_contents を使用して読み取ることができます。

file_get_contents 関数は、ファイル全体を読み取り、文字列を返します。 file_get_contents を記述する最も簡単な方法は次のとおりです:

file_get_contents(ファイルパス)

たとえば、次のパスを持つ .txt ファイルがあるとします。

C:blablaphphello.txt

次の PHP コードは、file_get_contents 関数を使用してファイルを読み取り、ファイルの内容を出力します。

コードは次のとおりです注: ファイル パスにはバックスラッシュが含まれているため、PHP 文字列ではバックスラッシュをエスケープし、2 つのバックスラッシュで表す必要があります。 (PHP の一部の特殊文字のエスケープを忘れた場合は、前述の PHP 文字列を読んでください。)
コードをコピー
$f = file_get_contents("C:blablaphphello.txt");
エコー $f;?>




file_get_contents 関数の戻り値は、読み取ったファイルの内容文字列であり、エラーが発生した場合は FALSE が返されます。

ファイルは、PHP 組み込み関数 fopen を使用して開くことができます。


ファイルを開く

fopen の最も単純な構文は次のとおりです:


fopen(ファイルパス,モード)

ファイルを開くための PHP コードの例を次に示します:


コードは次のとおりです $f = fopen("c:datainfo.txt", "r");

このうち、c:datainfo.txtはファイルパスで、rはファイルを開くモードが読み取り専用モードであることを示します。

fopen 関数には、ファイルを開くための次のモードがあります:

モードの説明
r 読み取り専用。ファイル ポインタはファイルの先頭にあります。
r+ は読み取りと書き込みの場合、ファイル ポインターはファイルの先頭にあります。
w は書き込み専用で、ファイル ポインタはファイルの先頭にあり、ファイル長は 0 に切り捨てられます。

ファイルが存在しない場合は作成します。

w+ は読み取りと書き込みを行い、ファイル ポインターはファイルの先頭にあり、ファイルの長さは 0 に切り捨てられます。

ファイルが存在しない場合は作成します。

a は書き込み専用で、ファイル ポインタはファイルの末尾にあります。

ファイルが存在しない場合は作成します。

a+ は読み取りと書き込みの場合、ファイル ポインターはファイルの末尾にあります。

ファイルが存在しない場合は作成します。

x は書き込み専用で、ファイル ポインタはファイルの先頭にあります。

ファイルが既に存在する場合、fopen() 関数は FALSE を返し、E_WARNING レベルのエラーを生成します。

ファイルが存在しない場合は作成します。

x+ は読み取りおよび書き込みの場合、ファイル ポインターはファイルの先頭にあります。

ファイルが既に存在する場合、fopen() 関数は FALSE を返し、E_WARNING レベルのエラーを生成します。

ファイルが存在しない場合は作成します。

ファイルが正常にオープンされた場合、fopen関数の戻り値はファイルポインタリソースとなり、エラーが発生した場合はFALSEが返されます。

ファイルを作成する
fopen 関数パラメーター モードに適切な値を選択することで、fopen を使用してファイルを作成できます。例:

コードをコピー
?>


コードは次のとおりです コードをコピー

$f = fopen("c:data101.txt", "w");
$f = fopen("c:data102.txt", "w+");
$f = fopen("c:data103.txt", "a");
$f = fopen("c:data104.txt", "a+");
$f = fopen("c:data105.txt", "x");
$f = fopen("c:data106.txt", "x+");
?>

PHP 組み込み関数 fgets を使用して、ファイルの行を読み取ります。

ファイルコンテンツの行を読み取るための fgets の構文は次のとおりです:

fgets(ファイルポインタ)
以下に、ファイルを 1 行ずつ読み取る方法の例を示します。

3 行と次の内容を含む sites.txt ファイルがあるとします。

woyouxian.comblabla.cngoogle.com
sites.txt のファイル パスは次のとおりです:

C:blablaphpsites.txt
PHP を使用してファイルの内容を 1 行ずつ読み取ります。PHP コードは次のとおりです。

コードは次のとおりですコードをコピー

PHP ファイルを実行すると、表示された結果が返されます:

サイト: woyouxian.comサイト: blabla.cnサイト: google.com
この PHP コードの最初の行はファイルを開き、最後の行はファイルを閉じます。 while ループ ステートメントは、ファイルが終了しない場合に 1 行を読み取り、ファイル ポインターが記事の最後に到達するまでループで実行することを意味します。

feof 関数は PHP の組み込み関数で、ファイル ポインターがファイルの末尾に到達したかどうかをテストするために使用されます。はいの場合は TRUE を返し、そうでない場合は FALSE を返します。 eof の英語の意味はファイルの終わりであり、覚えやすいです。

通常の状況では、fgets 関数の戻り値は文字列であり、エラーが発生した場合は FALSE が返されます。


PHP 組み込み関数 fclose を使用してファイルを閉じる方法について説明します。

fclose 関数の構文は次のとおりです:

fclose(ファイルポインタ)
fclose 関数は、成功した場合は TRUE を返し、失敗した場合は FALSE を返します。

fclose 関数の PHP コード例を次に示します。


$f= fopen("C:blablaphpsites.txt","r");
while (!feof($f)){
$line = fgets($f); echo "サイト: ",$line,"
";
}
fclose($f);?>




コードは次のとおりです コードをコピー

$f = fopen("c:datainfo.txt", "r");
fclose($f);
?>


この章では、fopen、fwrite、fclose を使用して、ファイルを開く、ファイルを書き込む、ファイルを保存して閉じるという一連の操作を実装する方法について説明します。 fwrite 関数に注目してください。

PHP 組み込み関数 fwrite は、ファイルの書き込みに使用されます。

fwrite 関数の一般的な構文は次のとおりです:

fwrite(ハンドル,文字列)
このうち、パラメータ ハンドルはファイル ポインタ リソース (通常は fopen 関数によって作成される) を表し、文字列は書き込まれる内容を表します。

次の PHP コード例は、新しいファイルを作成し、内容を書き込み、ファイルを保存して閉じる方法を示しています。

コードは次のとおりですコードをコピー $f= fopen("C:blablaphpwrite.txt","w");
fwrite($f,"素晴らしいですね。");fclose($f);echo "完了";
?>



PHP ファイルを実行すると、パス C:blablaphpwrite.txt のファイルが作成されます。ファイルの内容は次のとおりです。

既存のファイルにコンテンツを追加したい場合は、次のように fopen のパラメータ モード値を変更するだけです:

$f= fopen("C:blablaphpwrite.txt","a");

fopen 関数のパラメーター モード値の詳細については、「fopen」を参照してください。

fwrite 関数は、ファイルに書き込まれたバイト数を返すか、エラーが発生した場合は FALSE を返します。

PHP 組み込み関数 file_put_contents は、ファイルの書き込みに使用されます。

file_put_contents 関数を記述する最も簡単な方法は、2 つのパラメーターのみを使用することです。1 つはファイル パスで、もう 1 つは書き込むコンテンツです。構文は次のとおりです。

file_put_contents(ファイルパス,データ)

ファイルが存在しない場合は、file_put_contents 関数によってファイルが自動的に作成されます。ファイルが既に存在する場合は、元のファイルが上書きされます。


file_put_contents 関数を使用して、新しいファイルを作成して書き込むか、元のファイルを書き換えることができます。

file_put_contents 関数を使用した PHP コードの例を次に示します。

コードは次のとおりです $content = "ワン・フォー・オール";
file_put_contents($path,$content);
if (file_exists($path))
{echo "ok";}else {echo "ng";}
?>


この PHP コード例では、パス C:blablafilesysone.txt のファイルが作成され、ファイルの内容はすべて 1 つです。

既存のファイルにコンテンツを追加したい場合は、パラメーターを 1 つ追加するだけで、file_put_contents 関数を使用することもできます。

file_put_contents(ファイルパス,データ,フラグ)
flags の値が FILE_APPEND の場合、コンテンツを既存のファイルに追加することを意味します。

たとえば、上記の例の C:blablafilesysone.txt ファイルにコンテンツを追加したい場合は、次のように記述できます:

コードをコピー
コードは次のとおりです コードをコピー
$path="C:blablafilesysone.txt";
$content = "すべては一人のために";
file_put_contents($path,$content,FILE_APPEND);
if (file_exists($path))
{echo "ok";}else {echo "ng";}
?>

PHP ファイルを実行した後、C:blablafilesysone.txt ファイルを再度確認すると、ファイルの内容が次のように増加していることがわかりました。

ワンフォーオールオールフォーワン

file_put_contents 関数は、ファイルに書き込まれたバイト数を返します。エラーが発生した場合は FALSE を返します。

http://www.bkjia.com/PHPjc/629216.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/629216.html技術記事この記事では、一般的に使用される次のファイル操作関数 file_get_contents を紹介します。 ファイルの内容全体を読み取ります。 fopen ファイルを作成して開きます。 fclose ファイルを閉じます。 fgets ファイルの内容を 1 行読み取ります。 file_e...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。