• ベストアンサー

他のフォルダにあるPHPをrequireするときにエラー

/xxx/xxx.php から /yyy/yyy.php をrequireしたいです。 require('../yyy/yyy.php'); ↑では、そこで Warning:~~failed to open stream: No such file or directory となってしまいました。 どうしたらいいですか?

質問者が選んだベストアンサー

  • ベストアンサー
  • wp_
  • ベストアンサー率54% (132/242)
回答No.3

回答はNo.1,No.2の方で出ておりますが、 いちいち相対パスを考えるのがだるい場合は chdir('/'); require 'yyy/yyy.php' とあらかじめ指定しておいた上でrequireする方法もあります。 全て絶対パスで書けよと言われればそれまでですが^^;

hiromu0103
質問者

お礼

ありがとうございます。 先にchdirをすると大丈夫でした。

その他の回答 (2)

  • hkd9001
  • ベストアンサー率48% (99/204)
回答No.2

こんにちは。 相対パス指定で、別の PHP スクリプトを require したいのですね。このケースでは 「 xxx.php 」の2つ上の階層に上がってから「 /yyy/yyy.php 」にアクセスする必要がありますよね。よって 「 require('../../yyy/yyy.php'); 」 とすれば、うまくアクセスできると思いますよ。

hiromu0103
質問者

お礼

ありがとうございました。しかし、だめでした。

  • _chihiro_
  • ベストアンサー率63% (26/41)
回答No.1

require('/yyy/yyy.php'); と絶対パスにすれば良いのでは? どうしても相対パスで書きたければ、hiromu0103さんのような書き方で良いのですが、xxxディレクトリとyyyディレクトリの階層構造に間違いはありませんか? require ('../yyy/yyy.php'); と書きたければ xxxディレクトリとyyyディレクトリが同じディレクトリ内にある必要があります。

hiromu0103
質問者

補足

require('/yyy/yyy.php'); でもダメでした。 xxxディレクトリとyyyディレクトリは同じディレクトリ内にあります。 他に考えられるものはないでしょうか?

関連するQ&A