PHPのfile_get_contents()関数を使用しファイルの内容全体を簡単に読み取る

PHPのfile_get_contents()関数を使用しファイルの内容全体を簡単に読み取ってみます。

file_get_contents()関数は、ファイルのソース全体、またはその一部を読み込み、PHPの文字列データとして返します。

■基本的な構文

file_get_contents(path, include_path, context, start, max_length)

pathは、読み込むファイルのパスを指定しています。

include_pathは、ファイルを検索するディレクトリ。オプションです。

contextは、オプションです。ファイルハンドル(どのファイルを処理しているかを管理するための名前)のコンテキストを指定します。NULLを使用することで省略することができます。

startは、オプションです。ファイルのどこから読み始めるかを指定します。

max_lengthは、オプションです。読み込んだデータの最大長を指定します。デフォルトはEOF(ここで終了という目印)までの読み込みとなります。

■環境

・Windows10

・WampServer Version 3.2.3 64bit

・PHP Version 7.3.21

■file_get_contents()関数を使用しファイル内容全てを読み取る

では、早速file_get_contents()関数を使用しファイル内容全てを読み取ってみます。

■コード

<html lang="ja">
<head>
<title>file_get_contents()関数を使用しファイル内容全てを読み取る</title>
</head>
<body>
<?php
$file = "C:/wamp64/www/project/test.txt";

if(file_exists($file)){
    $content = file_get_contents($file) or die("エラー: ファイルを開くことができません");

    echo $content;
} else{
    echo "エラー: ファイルが存在しません";
}
?>
</body>
</html>

今回はfileという変数を宣言し、その中でtest.txtというファイルを指定し格納します。

次にif文を使用し、file_exists()関数で、file変数の中に格納したファイルが存在するかチェックします。存在する場合(真・True)は、content変数の中のfile_get_contents()関数が実行され、括弧内で指定されたfile変数を読み込みます。またファイルを読み込んだ際にdie()関数でエラーが発生した場合の処理を指定します。読み込んだファイルの情報を、content変数に格納。

格納した情報をecho文を使用し、出力します。

ちなみに、if文を使用し、file_exists()関数で、file変数の中に格納したファイルが存在しない場合(else)は、echo文を使用し、エラーの文字列を出力します。

なお、test.txtというファイルの中身を開いて読み込みますが、ファイルの中身は上記の内容(日本語の文字列)が記述されています。

■実行

では、このスクリプトを「file_get.php」という名前で保存し、実行させてみます。

実行させてみると、file_get_contents()関数を使用したことで、指定したファイルの内容全てが読み取られ、出力させることができました。

コメント

タイトルとURLをコピーしました