にゃあ

getcwd()とdirname(__FILE__)は違う結果になるときがある

phpでの話です。

getcwd()とdirname(__FILE__)はカレントディレクトリのパスを取得するという点で同じように説明されますが、require(_once)やinclude(_once)が絡むと、全く異なった結果を返します。

実験として、次のようなファイルを作成しました。
C:/UsbWebServer/Root/phptest/getcwd.php
C:/UsbWebServer/Root/phptest/getcwd/dir/ect/ory/include.php

getcwd.phpはindex.phpをrequireしています。

getcwd.php

<?php

require 'getcwd/dir/ect/ory/include.php';

?>

include.phpには、getcwd()とdirname(__FILE__)の結果を出力する処理を書きました。

<?php

echo 'getcwd() : ';
var_dump(getcwd());
echo '<br />dirname(__FILE__) : ';
var_dump(dirname(__FILE__));

?>

以上の前提でgetcwd.phpを実行(ブラウザでアクセス)したところ、次のような結果になりました。

getcwd() : string(28) "C:\UsbWebServer\Root\phptest"
dirname(__FILE__) : string(47) "C:\UsbWebServer\Root\phptest\getcwd\dir\ect\ory"

上の結果をまとめると次のようになります。

getcwd()はアクセス中のファイルがあるディレクトリ
dirname(__FILE__) はそれが書かれているファイルがあるディレクトリ


コメント&トラバ

トラックバックを送る

無関係なスパムのトラックバックを防止するため、リンク先で本サイト(suin.asia)への言及が確認されないトラックバックは破棄しています。

トラバURL : http://suin.asia/trackback/131

コメントを書く

お名前* URL
本文*
合い言葉* ←「rchlirceler」と入力して下さい。

トラックバック

__FILE__ http://www15.atpages.jp/~classicalstudio/wordpress/?p=50 (2009.12.22) #
http://suin.asia/2009/02/18/getcwddirname-file.html ↑__FILE__の結果うんぬん。 getcwd()とdirname(__FILE__)は違う結果になるときがある phpでの話です。 getcwd()とdirname(__FILE__)はカレントディレクトリのパスを...

コメント

コメントはないです。誰かコメント書いてよぅ…。

このブログの著者

suin
Suinと申します。

サブメニュー

最近気になるモノ!

WindowsからMacに乗り換えて半年ですが、Macは細かいところまで丁寧に作られていて、親切なユーザーインターフェイスが気に入ってます。iMacはMagic Mouseと洗練されたデザインのBluetoothキーボードがついてくるので、お得だなあ、なんて思ってます。私に買ってもいいという方、いたら教えてください 笑。

最近のエントリ

XOOPS Cube Dev Ring

最近のコメント

最近のトラックバック

http://www15.atpages.jp/~classicalstudio/wordpress/?p=50
getcwd()とdirname(__FILE__)は違う結果になるときがある (12/22)
Re:
CSSのtext-align:center;は<div>には通用しない (12/15)
XOOPS専門-株式会社RYUS - d3blog
Shiori 1.02 (12/02)
9deMaio.com - blog
Koins 1.00 (11/11)
インターネット覚え書き「ビボウログ」
CSSのtext-align:center;は<div>には通用しない (09/16)
hinoeuma1966
CSSのtext-align:center;は<div>には通用しない (07/03)
Suin.org
ブログ作ってみた (03/23)
Suin.org
ブログ作ってみた (03/23)