phpの__FILE__のパス
シンボリックリンクのphpを実行したときにうまく動かずはまったので。
シンボリックリンクのphpファイルで__FILE__
は、シンボリック元のファイルパス。
php
$ php -v
PHP 5.3.13 with Suhosin-Patch (cli) (built: Jun 20 2012 17:05:20)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
検証
サンプルプログラム
$ cd ~/scratch/php/
$ mkdir foo bar
$ vi foo/test.php
<?php
echo __FILE__."\n";
echo dirname(__FILE__)."\n";
echo realpath(dirname(__FILE__))."\n";
シンボリックリンク作成
$ cd bar/
$ ln -s ../foo/test.php
$ cd ..
確認
$ php foo/test.php
/Users/te2u/scratch/php/foo/test.php
/Users/te2u/scratch/php/foo
/Users/te2u/scratch/php/foo
$ php bar/test.php
/Users/te2u/scratch/php/foo/test.php
/Users/te2u/scratch/php/foo
/Users/te2u/scratch/php/foo