今回はPHPにおけるファイルの読み書きの方法について説明します。
PHPは、ファイルの読み書きを行うための多数の関数を提供しています。これらの関数を使用することで、テキストファイル、CSVファイル、JSONファイル、XMLファイルなど、さまざまな種類のファイルを処理することができます。
実際の開発でも大変よく使う方法なので是非マスターしましょう!
独学がつらくなった方は下記をご覧ください!
>>【初心者必見!】無料体験ができるプログラミングスクールをご紹介!
fopen
関数を使ったファイルの読み込み
ファイルの読み込みには、fopen
関数を使用します。この関数は指定されたファイルを開いて、ファイルポインタを返します。ファイルポインタは、後でファイルからデータを読み込むために使用されます。
以下は、fopen
関数を使用してファイルを開く例です。
$filename = 'sample.txt';
$file = fopen($filename, 'r');
上記の例では、sample.txt
という名前のファイルを読み込みモードで開いています。
fopen
関数の第1引数には、読み込むファイルの名前を指定します。第2引数には、ファイルを開くモードを指定します。r
は、読み込みモードを表します。他にも、書き込みモード、追記モード、バイナリモードなどがあります。
ファイルを開いた後は、fgets
関数を使用します。fgets
関数はファイルから1行ずつデータを読み込むことができます。以下は、fgets
関数を使用してファイルから1行ずつデータを読み込む例です。
while (!feof($file)) {
$line = fgets($file);
echo $line;
}
上記の例では、feof
関数を使用して、ファイルの終端に達するまで繰り返し処理を行います。fgets
関数は、ファイルから1行ずつデータを読み込みます。読み込んだデータは、$line
に代入され、echo
文で出力されます。
while文の詳細については下記の記事を参考にしてください!
ファイルを読み込んだ後は、fclose
関数を使用して、ファイルを閉じることができます。以下は、fclose
関数を使用してファイルを閉じる例です。
fclose($file);
CSVファイルの読み書き
CSVファイルは、コンマやタブなどで区切られたデータを含むテキストファイルです。PHPでは、fgetcsv
関数を使用して、CSVファイルからデータを読み込むことができます。また、fputcsv
関数を使用して、CSVファイルにデータを書き込むことができます。
以下は、fgetcsv
関数を使用してCSVファイルからデータを読み込む例です。
$filename = 'sample.csv';
$file = fopen($filename, 'r');
while (($data = fgetcsv($file)) !== false) {
print_r($data);
}
fclose($file);
上記の例では、sample.csv
という名前のCSVファイルを読み込みモードで開いています。fgetcsv
関数を使用して、CSVファイルから1行ずつデータを読み込みます。読み込んだデータは、配列として$data
に代入され、print_r
関数で出力されます。
以下は、fputcsv
関数を使用してCSVファイルにデータを書き込む例です。
$filename = 'output.csv';
$file = fopen($filename, 'w');
$data = array(
array('Name', 'Age', 'City'),
array('John', '30', 'New York'),
array('Alice', '25', 'Los Angeles'),
array('Bob', '35', 'Chicago'),
);
foreach ($data as $row) {
fputcsv($file, $row);
}
fclose($file);
上記の例では、output.csv
という名前のCSVファイルを書き込みモードで開いています。$data
という配列に、書き込むデータを格納しています。foreach
ループを使用して、配列の要素を1つずつ取り出し、fputcsv
関数でCSVファイルに書き込んでいます。
foreach構文に関しては下記の記事を参考にしてください!
JSONファイルの読み書き
JSONファイルは、JavaScript Object Notationの略で、JavaScriptのオブジェクトを表すためのテキストフォーマットです。
PHPでは、json_encode
関数を使用して、PHPの配列をJSONフォーマットに変換し、json_decode
関数を使用して、JSONフォーマットのデータをPHPの配列に変換することができます。
以下は、json_encode
関数を使用してPHPの配列をJSONフォーマットに変換する例です。
$data = array(
'name' => 'John',
'age' => 30,
'city' => 'New York',
);
$json = json_encode($data);
上記の例では、$data
という配列を定義し、json_encode
関数でJSONフォーマットに変換しています。変換後のデータは、$json
に代入されます。
以下は、json_decode
関数を使用してJSONフォーマットのデータをPHPの配列に変換する例です。
$json = '{"name":"John","age":30,"city":"New York"}';
$data = json_decode($json, true);
print_r($data);
上記の例では、$json
にJSONフォーマットのデータを定義し、json_decode
関数でPHPの配列に変換しています。第2引数にtrue
を指定することで、戻り値を連想配列として取得することができます。変換後のデータは、print_r
関数で出力されます。
ファイルの削除
ファイルを削除するには、unlink
関数を使用します。以下は、unlink
関数を使用してファイルを削除する例です。
$filename = 'output.txt';
unlink($filename);
上記の例では、output.txt
という名前のファイルを削除しています。unlink()
関数に削除するファイル名を指定することで、指定したファイルを削除することができます。
ファイルの存在を確認する
ファイルの存在を確認するには、file_exists
関数を使用します。以下は、file_exists
関数を使用してファイルの存在を確認する例です。
$filename = 'output.txt';
if (file_exists($filename)) {
echo 'File exists';
} else {
echo 'File does not exist';
}
上記の例では、output.txt
という名前のファイルが存在するかどうかを確認しています。file_exists
関数がtrue
を返す場合は、ファイルが存在することを示し、false
を返す場合は、ファイルが存在しないことを示します。
独学でツラくなった方へ
私は独学でプログラミングを学んで、実際に初めて稼げるようになるまで2年以上かかりました。
当時は意地でも独学で学んでやる!と意気込んでいましたが、今思えばスクールに通うことで稼ぐまでのスピードはもう少し短縮できたのではと思っています。
効率よくプログラミングを身につけたい方は是非参考にしてみて下さい!
- 将来のキャリアに不安を感じるが、何から始めていいかわからない。。
- 仕事が忙しいため両立できるか不安。
- 効率よくスキルを身につけたい
- 完全未経験からエンジニアを目指したい方へ!カウンセリング受講者の97%以上が未経験者で安心です。
- 「就業両立コース」で、仕事と両立して効率よくスキルを身につけることができます!
- キャリアイメージ、スキル習得など、無料カウンセリングで、今悩んでいることを気軽にプロに相談できます
まとめ
✅PHPにおけるファイルの読み書きの方法
今回はPHPにおけるファイルの読み書きについて、基本的な操作について解説しました。これらの操作を組み合わせることで、より高度なファイル操作が可能になります。
今回で是非ますたーしましょう!