[PHP-users 1727] file() の戻り値について (was include_path を取得するには?)

Osamu Shigematsu php-users@php.gr.jp
Mon, 03 Sep 2001 14:57:26 +0900


重松です。自己フォローです。

>> ini_get("include_path")で取れるようです。
> 
> http://www.php.net/manual/ja/function.ini-get.php
> 
> によると、(PHP 4 >= 4.0b1) とありますので、3.x だとダメなようですね?
> 
> 私の環境 (すみません、書き忘れていました) の PHP 4.0.6 では利用できるような
> ので、この方法を使わせて頂きます。

さらに突き詰めていくと、

    http://www.php.net/manual/ja/function.ini-get.php

によると、file() には、「オプションの2番目の引数を使用して、これに"1"を設定
することにより、 include_path のファイルの検索も行うことができます。 」とい
う機能があるようです。

PHP 3.x でも有効ですので、こちらを使うこととしました。

ところで、file() が失敗したときには、join() で警告がでるため、どうも array
ないものが返されているようなのですが、具体的に何が返されているのか、どこに記
載がありますか?

どうせ、空だと、エラーとして扱う必要があるので、

    function get_template ($template)
    {
        // { os 2001.09.03 } -->
        $contents = @join('',@file($template,1));
        
        if(empty($contents)){
            $this->error("get_template() failure: [$template]
$php_errormsg",1);
        }
        
        return $contents;
        
        // { os 2001.09.03 } <--
        
    } // end get_template

のように処理をしようと思っています。

-- 
Osamu Shigematsu

http://www.ravi.ne.jp/
mailto:shige@ravi.ne.jp