PHPではデータの保存にデータベースがよく利用されますが、テキストファイルにデータを書き込むことも可能です。今回は、ファイルの扱い方について紹介します。
ファイルの読み込み
fgets関数
fgets関数を用いることでファイルの中身を読み取ることができます。
memo.txtファイル
PHP
おはようございます
こんにちは
こんばんはPHP
// ファイルを変数に格納
$file = 'memo.txt';
// fopenでファイルを開く('r'は読み込みモードで開く)
$fp = fopen($file, 'r');
// fgetsでファイルを読み込み、変数に格納
$txt = fgets($fp);
// ファイルを読み込んだ変数を出力
echo $txt;
// fcloseでファイルを閉じる
fclose($fp);出力結果
PHP
おはようございますfgets関数は改行までの1行単位で取得する関数なので、上記ではファイルの1行目のみが取得されました。1行だけでなく、ファイルすべてを取得したい場合は、1行取得する処理をループさせ、繰り返し取得していきます。
file_get_contents関数
file_get_contents関数を使えばfopen(),fgets(),fclose()による一連のファイルオープンから読み込み、クローズまでを1つの関数で簡単に処理し1行だけでなく全文取得してくれます。
memo.txtファイル
PHP
おはようございます
こんにちは
こんばんはPHP
$file = 'memo.txt';
// ファイルを読み込み変数に格納
$content = file_get_contents($file);
// ファイルの中身を出力
echo $content;出力結果
PHP
おはようございます
こんにちは
こんばんはファイルの出力
touch関数
touch関数は空のファイルを作成することができます。
PHP
$filename = 'file.txt';
touch($filename);file_put_contents関数
file_put_contents関数はテキストファイルへ文字列を書き込むことができます。
PHP
$filename = 'file.txt';
$content = 'コンテンツ';
file_put_contents($filename,$content);例題
下記コードの出力はどれか
memo.txtファイル
PHP
赤青黄PHP
$file = 'memo.txt';
// ファイルを読み込み変数に格納
$content = file_get_contents($file);
// ファイルの中身を出力
echo $content;- 赤
- 青
- 黄
- 赤青黄
回答
4. 赤青黄
file_get_contents関数はファイルの中を全て読み込むため。
