2011-08-01 6 views
0

私はこの設定をしています。今PHPのグローバルパス設定

root dir| 
     index.php 
     config.php 
     file.php | 
       | 
       |scripts|a.js 
       | 
       |account 
         |index.php 
         |   | 
         |member |index.php 
  • 、私は、アカウントのディレクトリのindex.phpのにメンバーディレクトリのindex.phpで用意しました。また、アカウントのindex.phpを今すぐ

    define('PATH', (__DIR__)); 
    

、含まれているのconfig.phpを含み、すべてのために私が使用するアカウントのindex.phpを、

require_once(PATH . '\file.php'); 

に含まれており、正常に動作しています。しかし、私は

<script type="text/javascript" src="<?php '.PATH.'scripts/livevalidation.js ?>"></script> 

私はエラーを取得するので、私はスクリプトでa.jsを含めることができますどのようにグローバルに定義されたパスを使用してアカウントのindex.phpのにフォルダのようなスクリプトSRCのパスを追加しようとします。

ありがとうございました。

答えて

2

PHP "__DIR__"と "__FILE__"は、サーバーにとって絶対的なものです。スクリプトにはどちらかを使用する必要はありません。

<script src="/scripts/livevalidation.js"></script> 

また、あなたのPHPはそれはいくつかの構文エラーを持っているように、まだ動作しないでしょうが、これは(正しいだろうになります。

<script src="<?php echo PATH.'/scripts/livevalidation.js'; ?>"></script> 
+0

私はローカルでテストしていますので、これをスクリプトsrcで取得しています。したがって、スクリプトを参照するにはどうしたらいいですか?ファイルを正しく編集する – Ajay

+0

@Ajay、私は使用した最初のコード例を使用し、Webルートとの相対的な関係で "/ scripts /"を使用します(yoursite.com/、/ scripts/yoursite.com/scripts/です)。 )。ドメインに関連して – RSully

+0

また、Windowsサーバ上では、サーバーパスに "\"が含まれますが、Webパスには "/"が必要です – RSully

0

あなたはPHPでprintまたはecho文を逃していますあなたのscriptタグ内のステートメント。あなたはまた間違った場所にconcatinationの期間を置いています。しかし、あなたが含めるようにしているJavaScriptは、PHPステートメントの中にある必要はありません。

すべてそれは、最終的なl INEは、次のように読んでください。その上で

<script type="text/javascript" src="<?php echo PATH ?>scripts/livevalidation.js"></script> 

、しかし、私はあなたが期待するよう上記動作するとは思いません。 __DIR__はサーバーサイドのファイルシステムパスを出力しますが、これはHTTP経由でJavaScriptをインポートするときには意味がありません。あなたの静的メディア(CSS、JavaScript、およびように)が提供されているの下で絶対URLを指すことになり、上記の例ではURL_ROOT

<?php define('URL_ROOT', '/'); ?> 

<script type="text/javascript" src="<?php echo URL_ROOT ?>scripts/livevalidation.js"></script> 

:私は、次の線に沿ってより多くのものをお勧めします。