ホームページ > バックエンド開発 > PHPチュートリアル > ファイルに書き込み、PHPでファイルを読み取ります

ファイルに書き込み、PHPでファイルを読み取ります

Christopher Nolan
リリース: 2025-03-05 11:26:09
オリジナル
991 人が閲覧しました

Write to Files and Read Files With PHP

このチュートリアルでは、PHPにいくつかの重要なファイルの読み取りおよび書き込み機能を紹介します。これは、基本的な読み取りと書き込みのニーズを満たすのに十分です。ファイルの読み方、ファイルの書き込み、テキストファイルの書き込み、およびファイルが存在するかどうかを確認する方法を学びます。

PHP開発者として、ファイル処理はしばしば行う必要があるアクションです。

PHPファイル処理関数を使用して、さまざまな方法でファイルを操作できます。これらの関数は、カスタムエラーログからキャッシュファイルの保存まで、アプリケーションでさまざまな関数を構築するために使用できます。これらの機能で構築できるユーティリティツールの例は次のとおりです。

    カスタムロギングおよびデバッグツール
  • アプリケーション構成ストレージ
  • フロントエンドとアプリケーションキャッシュ
  • ローカリゼーションサポート
  • wait
幸いなことに、PHPはファイルデータを読み書きするための多くの関数を提供します。このチュートリアルでは、ローカルまたはリモートのファイルデータを読み取る最も簡単な方法と、フラグを使用してファイルを正確に記述する方法を示します。

$filename = 'https://www.gutenberg.org/cache/epub/1228/pg1228.txt';
$book_content = file_get_contents($filename);
file_put_contents('Biology/Evolution/On the Origin of Species [Charles Darwin].txt', $book_content, LOCK_EX);
ログイン後にコピー
WebページやWikipediaなどのWebサイトのコンテンツも同様の方法で保存できます。 HTMLを理解したり、HTMLコンテンツを分析したりする必要がある場合は、ローカルで保存したばかりのコンテンツを解析する必要がある場合は、「DIDOMを使用してHTMLをParase HTML」に似たチュートリアルを参照できます。これにより、リンク、画像ファイル、またはその他の情報をWebページから自動的に取得できます。

それでは、ローカルファイルに戻りましょう。たくさんのテキストファイルがあり、コンテンツを分析して、最も一般的な単語などの情報を表示するとします。これは、多くの組み込みのPHP関数を使用して簡単に実装できます。

$filename = 'On the Origin of Species [Charles Darwin].txt';
$book_content = file_get_contents($filename);

$book_content_lowercase = strtolower($book_content);

$individual_words = explode(' ', $book_content_lowercase);
echo "该书大约有 " . count($individual_words) . " 个单词:" . substr($filename, 0, -4) . "。\n";

$word_frequency = array_count_values($individual_words);
echo "该书中共有 " . count($word_frequency) . " 个独特的单词。\n";
echo "单词'Elephant'在书中出现了 " . $word_frequency["elephant"] . " 次。\n";
echo "单词'Ant'在书中出现了 " . $word_frequency["ant"] . " 次。\n";

if (isset($word_frequency["evolution"])) {
    echo "单词'Evolution'在书中出现了 " . $word_frequency["evolution"] . " 次。\n";
} else {
    echo "单词'Evolution'在书中一次也没有出现。\n";
}

arsort($word_frequency);
echo "该书中使用最多的单词是:'" . key($word_frequency) . "'。\n";

/* 以上所有代码的输出

该书大约有 147520 个单词:On the Origin of Species [Charles Darwin]。
该书中共有 22758 个独特的单词。
单词'Elephant'在书中出现了 3 次。
单词'Ant'在书中出现了 6 次。
单词'Evolution'在书中一次也没有出现。
该书中使用最多的单词是:'the'。
*/
ログイン後にコピー
すべてのテキストを小文字に変換し、各単語が空間で壊れると仮定します。次に、

およびfread関数を使用して、テキストを配列に変換します。 fread()

関数。 fopen ファイルシステムのポインターを取得するために、

関数の最初のパラメーターが使用されます。 fopen

関数を使用する例。 fopenfunctionfwrite

functionfwrite

次の例を見て、

の仕組みを見てみましょう。 fwrite

最初に、
$file_handle = fopen('/home/tutsplus/files/tmp.txt', 'a+');
fwrite($file_handle, 'Tuts+ is a great online resource to learn skills you want!');
fwrite($file_handle, "\n");
fwrite($file_handle, 'Visit tutsplus.com to know more!');
fclose($file_handle);
ログイン後にコピー
/home/tusplus/files/tmp.txt

ファイルをa モードで開きます。これにより、読み書き用のファイルが開き、ファイルポインターはファイルの最後にあります。したがって、他のコンテンツの後、コンテンツはファイルの最後に追加されます。次に、文字列を書き込むために関数を使用します。 上記の例に示すように、ファイルを閉じる前にfwrite関数を使用して一連の文字列を複数回記述できます。

最後に、ファイルを閉じるためにfwrite関数を使用します。 1つのパラメーター、閉じたいファイルポインターのみを受け入れます。ファイルの操作が完了したら、

関数を使用してファイルを閉じることを常にお勧めします。

最後に考えている

PHPでファイルデータを読み書きする方法は他にもたくさんあります。ただし、不必要な複雑さを追加することなく、file_get_contents()file_put_contents()は基本的なニーズのほぼすべてを満たします。

読んでいるファイルが非常に大きい場合(たとえば、サイズが2GB以上)場合、file_get_contents()でのみ問題に遭遇する可能性があります。これは、file_get_contents()がファイル全体をすぐにメモリにロードするためであり、このような大きなファイルの場合、メモリが不足する可能性があります。この場合、ファイルのごく一部を一度に読み取るには、fgets()fread()などの関数に依存する必要があります。

以上がファイルに書き込み、PHPでファイルを読み取りますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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