<!-- 説明、ファイル操作・読み込み -->

# ファイル操作(読み込み)

ではファイルの内容を読み込めるようにしましょう。

ファイル操作は

- ファイルを開く(fopen)
- ファイルの中身を読み込む(fgets)
- ファイルを閉じる(fclose)

という手順になります。

それぞれを説明します

## fopen

ファイルを開き、ファイルハンドルを返します。

ファイルハンドルとはファイルを特定するIDのようなもので、この後読み込むときやファイルを閉じるときに必要になります。

```
fopen(ファイル名, モード);
```

の形式で使われます。

モードには大きく3つあり,

- r：読み込み(ファイルポインタはファイルの先頭)
- w：書き込み(ファイルポインタはファイルの先頭)
- a：書き込み(ファイルポインタはファイルの最後)

のようになります。

たとえば、file01.txtを読み込みモードで開く時は

```
$fp = fopen('file01.txt', 'r');
```

のようになります。


## fclose

fopenで開いたファイルを閉じます。必ずfopenで開いたファイルは閉じるようにしましょう。

```
fclose($fp);
```




## fgets

fopenで開いたファイルを1行ずつ読み込みます。

先のfopen,fcloseと組み合わせると例えば以下のように使われます。

```
if (($fp = fopen($filename, 'r')) !== FALSE) {
   while (($tmp = fgets($fp)) !== FALSE) {
      $data[] = htmlspecialchars($tmp, ENT_QUOTES, 'UTF-8');
   }
   fclose($fp);
}
```

このように書くことで、1行ずつ最後まで読み込まれ、1行ずつのデータが$dataという配列の1行ずつに格納されます。


