ITメモ
PHP
PHP マニュアル(PHP Official Web)
Basic Knowlege / 基礎知識
「CentOS」にPHPをインストール方法PHPファイルの作り方外部「クラスファイル」「関数ファイル」を読み込む方法変数の使い方定義済み変数の使い方関数の使い方配列の使い方クラスの使い方ヒアドキュメントの使い方PHPの演算子条件分岐
Access Info / アクセス インフォ
IPアドレスを確認する方法アクセスされたURLパスを確認する方法PCとスマートフォンの判定アクセスしたページから特定ページにリダイレクトさせる方法
ファイル・ディレクトリ
ファイルとディレクトリの操作方法(作成・確認・削除)ディレクトリ内のファイル・ディレクトリPath(URL)を配列に格納する方法
ファイルの読み込みと書き込み
「file_get_contents」関数を使ってファイルを読み込む方法「readfile」関数を使ってファイルを読み込む方法「file」関数を使ってファイルを読み込む方法「fread」関数を使ってファイルを読み込む方法「fgets」関数を使ってファイルを読み込む方法「fwrite」関数を使ってファイルに書き込みをする方法
チェック
「is_file」関数 - 指定パスがファイルかをチェックする方法「is_dir」関数 - 指定パスがディレクトリかをチェックする方法
画像ファイル
画像ファイルのIPTC情報を取得する方法 画像ファイルをZipファイル形式でダウンロードさせる画像をコピーする方法画像のキーワード情報を取得する方法画像ファイルから「EXIF」ヘッダを読み込む画像の大きさ・画像情報を取得する
情報
「PHP」の出力系関数 - プログラミングで必須のデータ内容をチェックする方法関数の返り値を複数で受け取る方法使用可能なメモリ使用量を変更する方法mb_send_mail - エンコード変換を行ってメールを送信する「Google」「Goolge Map]に渡した値が文字化けするときの解決方法PHPで日付比較をする方法
文字列
「文字列」の長さを取得する方法【 substr 】「文字列」から一部分を取り出す方法【 explode 】「文字列」を分割する方法【 preg_split 】正規表現で「文字列」を分割するランダムな数字を取得する方法
文字の検索
「strpos」関数で指定文字の最初の位置を確認する方法「preg_match」関数で指定した「正規表現」で検索する方法
文字の置換
「str_replace」関数で指定した文字列を置き換える方法「preg_replace」関数で指定した文字列を置き換える方法
文字の削除
「trim」関数 - 文字列の両端から指定文字を削除する方法「ltrim」関数 - 文字列の先頭から指定文字を削除する方法「rtrim」関数 - 文字列の末尾から指定文字を削除する方法文字列の中にある「文字」を削除する方法「改行」を削除する方法文字列の「空白(スペース)」を削除する方法
配列
配列に値を追加する方法配列の値を削除する方法配列の有無を確認する方法配列の中から重複した値を削除する配列の空の値を削除する配列の並び順を変えるis_array - 変数が配列かを確認するin_array - 配列の中に指定した値があるか確認するimplode - 値の間に文字加えて配列を文字列に変換するarray_merge - 配列と配列を結合する方法
ライブラリ
「PHP」で使えるライブラリの種類「GD」ライブラリの使い方
Server / サーバー
サーバーの最大実行可能時間を変更する





【PHP】「file」関数を使ってファイルを読み込む方法

【PHP】
「file」関数を使ってファイルを読み込む方法







「file」関数とは


「file」関数は、
ファイル全体を読み込んで、「配列」に格納する関数。
ファイルの内容を文字列として取得するには、「file_get_contents()」関数を使用する。

1行のファイル内容に、配列キーが1つ割り当てられ、1つの要素として格納される。
配列の1行目のキーは「0」が割り当てられる。

1行ごとに処理を割り振ることができるので、 便利なファイル読み込み関数。


Back

「file」関数の書式


ファイル内容を1行ずつ配列に格納してくれる「file」関数の書式は、 比較的簡単な書式で、扱いやすい関数です。


「file」関数の書式

file(string $filename, int $flags = 0, resource $context = ?): array
file(必須, 省略可, 省略可): 返り値(配列)
file(ファイルパス, フラグ指定, コンテキスト): 返り値(配列)

file(ファイルパス [ , フラグ(省略可)] );
file(ファイルパス): 返り値(配列)



パラメータ

第二引数の「フラグ」以降のパラメータは、「省略」する事が可能。
1つのパラメータに複数の値を指定する場合は、「|」で区切る。
サンプル:
file($filename, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

「改行文字」「空の行」を含まないように指定できるので、
第二引数「フラグ」は、良く指定する項目だと思います。
データファイルなどを扱うのに便利。

「FILE_SKIP_EMPTY_LINES」は、
「改行文字」が行の最後にあると「空の行」と認識してくれないので、
最初に「改行文字」を含めない「FILE_IGNORE_NEW_LINES」を指定する必要があります。
そのため、
file($filename, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
という2つのフラグを同時に指定する必要がある。


パラメータの種類
フラグの種類説明
FILE_USE_INCLUDE_PATH ファイルを、インクルードディレクトリも含めて検索する。
FILE_IGNORE_NEW_LINES 配列の各要素の最後に「改行文字(\n)」を含めない。
FILE_SKIP_EMPTY_LINES 「空の行」は、配列に含めない。




「file」関数のサンプルコード

file(ファイルパス [, フラグ, コンテキスト(省略可)] );

//ファイルを変数に格納
$filename = 'ファイル名.txt';

//ファイルを配列に格納し、さらに変数に格納
$変数名 = file($filename);

//配列を出力
print_r($変数名);
出力結果:
Array ( [0] => 1行目の内容 [1] => 2行目の内容 [2] => 3行目の内容 )



// ファイルを変数に格納
$filename = 'memo.txt';

// ファイルを配列に格納し、さらに変数に格納
$lines = file($filename);

//foreachでファイルの配列をループ処理
foreach ($lines as $line) :

//配列の要素を1行ずつ
endforeach;


Back