【PHP】相対パスの指定がどうしてもうまくいかない時の対処法

PHPで相対パスの指定がどうしてもうまくいかない時の対処法についてです。

相対パスの指定が上手にいかず、変だと思いながらも、フルパスを使ってなんとか読み込んでいる方も多いと思います。

No such file or directory

のようなエラーが出ます。

フルパスで指定していると、サーバーを移転する時なんかに不便ですよね。

一つ上のディレクトリ⇒temp⇒a.phpをincludeしたい時には「include_once ‘../temp/a.php’」と書きたくなりますが、エラーが出ることがあります。

実行したファイルのあるディレクトリが常に実行時のカレントディレクトリになる規則がPHPにはあるからです。

hoge256blogというサイトに分かりやすく載っていたのでリンクを貼っておきます。

PHP の include, require で相対パスを指定して読み込む場合のメモ

エラー時:include_once ‘../temp/a.php’;
対処方法:include_once dirname(__FILE__) . ‘/../temp/a.php’;

hoge256さんのおっしゃる通り、dirname(__FILE__) .は常時書いておくのがベターな気がします。

コメント

お知らせ

羽織紐を手作りしてます!よろしければご覧ください!
  • 天然石 マグネット式羽織紐 #01 / 着物小物 / ブルーグリーン / 水晶
    天然石 マグネット式羽織紐 #01 / 着物小物 / ブルーグリーン / 水晶
  • 天然石 マグネット式羽織紐 #09 / 着物小物 / グレー / 高品質ルチルクォーツ
    天然石 マグネット式羽織紐 #09 / 着物小物 / グレー / 高品質ルチルクォーツ
  • 天然石 マグネット式羽織紐 #04 / 着物小物 / ネイビー
    天然石 マグネット式羽織紐 #04 / 着物小物 / ネイビー

お知らせ

羽織紐を手作りしてます!よろしければご覧ください!
  • 天然石 マグネット式羽織紐 #01 / 着物小物 / ブルーグリーン / 水晶
    天然石 マグネット式羽織紐 #01 / 着物小物 / ブルーグリーン / 水晶
  • 天然石 マグネット式羽織紐 #09 / 着物小物 / グレー / 高品質ルチルクォーツ
    天然石 マグネット式羽織紐 #09 / 着物小物 / グレー / 高品質ルチルクォーツ
  • 天然石 マグネット式羽織紐 #04 / 着物小物 / ネイビー
    天然石 マグネット式羽織紐 #04 / 着物小物 / ネイビー
タイトルとURLをコピーしました