PHP リソース型 【初級編 第15回】
リソース型について
前回は NULL型について記載しました。
今回はリソース型について記載したいと思います。
リソース型の概要
リソース型とは
リソース型とは、データベースやファイルへのアクセスを保持しておくものです。
変数にデータベースやファイルなどのリソースを代入すると、
以後のそれらのへのアクセスには、代入した変数名を使用することでアクセスさせることができます。
リソース型の使い方
変数へのリソースの代入
リソース型も他の変数と同じように、=(イコール)を使用して、リソースを代入します。
下記では変数にリソースを代入してリソース型にしています。
<?php $fname = fopen("out.txt", "r"); var_dump($fname); fclose($fname); ?>
それから実際に、上記のソースコードと同じディレクトリに、 out.txt というファイルを作成します。
ブラウザから確認してみると、 resource(3) of type (stream) などの文字が表示されます。
(数字は異なるかもしれませんが)
変数はリソース型になっていることが確認できます。
以後は、$fnameを使用して、このソースコード内でファイルを
読み込んだり、書き込みをおこなったりすることができます。
リソース型を使用したファイルの読み込み
たとえば下記では、in.txtファイルを読み込んで、その内容をブラウザ上に表示しています。
<?php $fname = fopen("in.txt", "r"); $mes = fread($fname, filesize("in.txt")); fclose($fname); print $mes; ?>
ブラウザからアクセスすると、以下のようにファイルに書き込んだメッセージが表示されました。
リソース型を使用したファイルへの書き込み
たとえば下記では、out.txtは第3者がブラウザからアクセスするたびに write message という文字列が書きこまれます。(上書き)
この際、out.txtファイルのアクセス権は、第3者からも書き込み可能にしておく必要があります。
<?php $mes = 'write message'; $fname = fopen('out.txt', 'wb'); fwrite($fname, $mes); fclose($fname); ?>
このように変数をリソース型にすることで、リソースへのアクセスを変数名で管理することができます。
今回はここまでで、次回はいろいろな型の確認方法について記載したいと思います。