PHP リソース型 【初級編 第15回】

この記事は2012年10月15日に書かれたものです。内容が古い可能性がありますのでご注意ください。


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);
?>

このように変数をリソース型にすることで、リソースへのアクセスを変数名で管理することができます。

ブラウザ確認画像

今回はここまでで、次回はいろいろな型の確認方法について記載したいと思います。

  • このエントリーをはてなブックマークに追加

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

PAGE TOP