いよいよファイルに関する操作の学習です。まずはじめに本日はファイルが存在するかしないかを検出する関数を学習します
file_existsは戻り値をtureかfalseで返します。通常はその戻り値の情報を使って処理の続行や中止などを判断するようです。
<?
//file_exists関数
echo("ファイルの直接指定<br>");
if(file_exists("/var/www/html/test/test.test"))
{
echo("処理1ファイルは存在します<br>");
}
else
{
echo("処理1ファイルは存在しません<br>");
}
echo("変数にファイルのありかをいれて利用<br>");
$test1 = "/var/www/html/test/test.test";
if(file_exists($test1))
{
echo("処理1ファイルは存在します<br>");
}
else
{
echo("処理1ファイルは存在しません<br>");
}
//参照権限がないファイルの参照
echo("パーミッションが指定されていない位置への参照<br>");
$test2 = "/home/test/test.test";
if(file_exists($test2))
{
echo("処理2ファイルは存在します<br>");
}
else
{
echo("処理2ファイルは存在しません<br>");
}
//一応WWW以下しか参照できないようになっているのだろうか?
// 自己res:04-02-20WWW以外も参照できる
?>
|
実行結果
まずはじめに戻り値を表示してみました
成功した場合の戻り値は「1」のようです。
次にファイル名を直接記述したものと変数に代入して記述したものを実行しました。問題なく動きました。
最後にパーミッションが許されていない部分へのアクセスをしたところこちらはfalseが帰ってきました。アクセスができない部分へのファイルの存在チェックはファイル無しとみなされるようです。ここは注意しなければいけません。
補足ですがWWW以外のディレクトリにもアクセスできるようです。この点もセキュリティを考えるときには考慮に入れないといけないと思いました。
|