[PHP-users 7936] Re: 自分自身のファイル名取得

Morikawa [encore-ann] php-users@php.gr.jp
Wed, 05 Jun 2002 17:59:21 +0900


もりかわ@似非PGです。

>  共通関数の中でのエラー処理で、呼び出し元のファイル名と行番号が、
> 呼ばれた関数側で取得できると、かなり有効なログやエラーメッセージが
> 出力できるのですが、何かいい方法はありませんでしょうか?

自分も散々試しましたが、引数に渡す以外なさそうです。
定義済み変数・定数の一覧を吐き出してもそれらしいものはないですし、
関数も見つけられません。Perl/Ruby だと caller 一発なのでちょっと
不便に感じる。。。

eval を使えば、出来ないこともなかったんですが。。。

caller.php
<?php
include('er.php');
eval($err);
?>


er.php
<?php
$err = '
function error() {  
  return __FILE__.":".__LINE__;
}
print error();';
?>


もりかわ
:プログラマボシュウチュウ:
http://www.find-job.net/fj/showjob.cgi?id=12226