2017-02-03 10 views
0

私のインクルードの../がなぜ機能しないのですか?私のインクルードのインクルードが正常に動作しない理由

私は戻って、フォルダを移動して、新しいフォルダを入力したいが、私はこの警告を得る:

PHPの警告:(../フォルダ/ Information.php)が含ま:ストリームをオープンに失敗しました:いいえ、そのようなファイル/ディレクトリ内の/home/user/bin/Code/TOOLS/main.php PHP警告:include():インクルードのために '../folder/Information.php'を開けませんでした(include_path = '。:/ USR /シェア/梨:を/ usr/share/PHP ')/home/user/bin/Code/TOOLS/main.phpでライン上の1

コード:

<?PHP include "../folder/Information.php"; ?> 

フォルダ構造:

home 
-user 
--bin 
---Code 
----TOOLS 
-----main.php 
----folder 
-----Information.php 

PHPのV5.3と高いです。 CentOSシステム。 DIR定数および/またはスラッシュ「/」の前に「../」を含む

答えて

2

パスを有効にするには、完全なパスをインクルードに含める必要があります。あなたは定数を使ってそれを達成することができます。

以前のPHPバージョンでは、dirname(__FILE__)を使用する必要があります。新しいバージョンでは、定数__DIR__を使用できます。

両方のバージョンでは、その定数を使用しているファイルへの絶対パスを取得します。そのパスは最後のスラッシュを使用しません。だからあなたは定数の後にそれらを加えなければなりません。

<?php include dirname(__FILE__)."/../folder/Information.php"; ?> 
<?php include __DIR__."/../folder/Information.php"; ?> 

../あなたはディレクトリを1レベル上に変更してパスを戻すことができます。

0

てみ

<?PHP include __DIR__."/../folder/Information.php"; ?> 
+0

私は/../にトライしましたが、依然として同じ結果です。私は__DIR__定数を使用したくありません –

+0

なぜDIR定数を使いたくないのですか? –

+0

普遍的使用。 __DIR__恋人のバージョンでは動作しませんし、毎回他にはしたくありません。 –

0

は、コードセグメントの下に試してみてください、私はこれはうまくいくかもしれないと思います。 <?PHP include "./folder/Information.php"; ?>

+0

did not work :( –

関連する問題