[PHP-users 22495]Re: include_pathのカレントディレクトリについて

Yuya Nishihara puro @ bf7.so-net.ne.jp
2004年 7月 4日 (日) 19:43:13 JST


 西原といいます。はじめまして。
> require 'Test/formCreatorTest.php'とかすると(Testはサブディレクトリ)
> Fatal error: Failed opening required 'Test/formCreateorTest.php' 
> (include_path='.:/usr/lib/php/php') 

 実行時のカレントディレクトリが別なのでは?
 PHP の include, require 等は, そのスクリプトの置いてあるディレクトリではなく, 
実行時のカレントディレクトリを基準に考えなければなりません。残念ながら。
 例えば, 
 /main.php
 /src/ClassA.php
 /src/AbstractClassA.php
という構成で, ClassA.php から AbstractClassA.php を 読み込むときは, おそらく,
 require_once 'src/AbstractClassA.php';
となります。(main.php を実行していて, カレントディレクトリがそこだと仮定。)
 ただし, これだと汎用的じゃないので, 
 require_once dirname(__FILE__) . '/AbstractClassA.php';
 // '/'(スラッシュ) を忘れずに!
としたほうがいいと思います。
 私はこれで1日無駄にしました。
--
Yuya Nishihara


PHP-users メーリングリストの案内

AltStyle によって変換されたページ (->オリジナル) /