ホームページ >バックエンド開発 >PHPチュートリアル >ファイルに書き込み、PHPでファイルを読み取ります
このチュートリアルでは、PHPにいくつかの重要なファイルの読み取りおよび書き込み機能を紹介します。これは、基本的な読み取りと書き込みのニーズを満たすのに十分です。ファイルの読み方、ファイルの書き込み、テキストファイルの書き込み、およびファイルが存在するかどうかを確認する方法を学びます。
PHP開発者として、ファイル処理はしばしば行う必要があるアクションです。
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
fopen
functionfwrite
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 サイトの他の関連記事を参照してください。