2017-09-10 8 views
0

私は言語ファイル - lang.phpを持っていますが、私はそれを使用する関数を持っています。関数/func//func/users.func.php)にあります。フォルダ "AJAX" でfirstFile.phpphp - 関数の相対位置

  • :メインルートに

    1. は今、私はその機能を使用する2つのファイルを持っているアヤックス/ secondFile.php

    問題は、ファンクションの相対位置です。ファーストファイルがファンクションを呼び出すときにlang.phpをコールするコードは、次のとおりです。include lang.php。 secondFileは、関数を呼び出すとき

    lang.phpを呼び出すためのコードは次のようになります。../lang.php

    が含まれますが、私はそれを修正することができますどのように...私のコードで(../なしで)それらの両方を書き込むことはできませんか?

    (私は./を書いてみました、私は成功せず$_SERVERを使用しようとしました...)あなたがどこ

  • +0

    '$ _SERVER [「DOCUMENT_ROOT」]'役立つはずで決定されるため、特にインクルードファイルにこの戦略を適用したいと思います。個人的に私は 'chdir($ _ SERVER ['DOCUMENT_ROOT']);でコードを始めるのが好きです。私がどこにいても、私は一貫したベース位置にいます。あるいは、ドキュメントルートを 'include_path'に追加してください。 –

    +0

    "しかし、私はそれらの両方を書くことはできません"なぜ? – Scuzzy

    +0

    @Scuzzy、それがPHPの仕組みだからです... – Roi

    答えて

    0

    まあ、各ファイルには、あなたが知っています。いくつかの基本的な方法は、コメントに記載されている:

    • ドキュメントルートを決定し、そこから継続(1つのドキュメントルートで動作します):

      require $_SERVER['DOCUMENT_ROOT'].'lang.inc' 
      
    • があなたを含むファイルに関する情報を使用

      require __DIR__.'/../lang.inc'; // in ajax/secondfile.php 
      // or 
      require __DIR__.'/lang.inc'; // in firstfile.php 
      

    おそらくrequire_onceが必要です別のsecondfileか何かからのfirstfile。

    更新:あなたは自分の作業ディレクトリは、呼び出し元のスクリプト

    +0

    両方のファイル(別々のフォルダにある)は "/ func/users .func.php "です。関数は "lang.php"ファイルを呼び出します... – Roi

    +0

    あなたはインクルードされたすべてのファイルでこの戦略を使用してください。 – Jakumi

    関連する問題