の違いは何ですか
require("../classes/M8.php");
と
require("/../classes/H8.php");
インクルードパスはどのように異なりますか?
の違いは何ですか
require("../classes/M8.php");
と
require("/../classes/H8.php");
インクルードパスはどのように異なりますか?
/..
サーバーのルートからの相対パスです。
../
現在のスクリプト フォルダからの相対パスです。
詳細情報のリクエストが行われていることがわかりました。
サーバー上のフォルダーにいる場合は、次のように言います。
/usr/local/apache2/www/example.php
次に、example.php での参照を絶対パスとして行うことができます。つまり、サーバーのルートからの相対パスです: /usr/local/apache2/hidden/credentials.php
または、現在のファイルへの相対パスを使用して同じファイルにアクセスできます: ../hidden/credentials.php。../ の各セットは、サーバー フォルダー構造の 1 つ上のディレクトリに移動することに注意してください。
パスの先頭にあるA/
は、ルート ディレクトリを指します。これは絶対パスとして知られています。それ以外は、現在のフォルダーに相対的です。これは相対パスと呼ばれます。
IBM は、ここで違いを説明します。
絶対パス名は、/(ルート) ディレクトリから下のディレクトリまたはファイルの完全な名前を表します。ファイル システムのどこで作業しているかに関係なく、絶対パス名を指定することで、ディレクトリまたはファイルをいつでも見つけることができます。絶対パス名は、ルート ディレクトリを表す記号であるスラッシュ (/) で始まります。パス名 /A/D/9 は、9 の絶対パス名です。最初のスラッシュ (/) は、検索の開始場所である / (ルート) ディレクトリを表します。パス名の残りの部分は、検索を A、次に D、最後に 9 に向けます。
絶対パス名とは異なり、相対パス名は、現在の作業ディレクトリに基づいてディレクトリまたはファイルを指定します。相対パス名の場合、ドット ドット (..) 表記を使用して、ファイル システム階層を上に移動できます。ドット ドット (..) は、親ディレクトリを表します。相対パス名は現在のディレクトリから始まるパスを指定するため、スラッシュ (/) で始まりません。相対パス名は、現在のディレクトリ内のファイルの名前、またはファイル システム内の現在のディレクトリのレベルより上または下のファイルまたはディレクトリのパス名を指定するために使用されます。D が現在のディレクトリの場合、10 にアクセスするための相対パス名は F/10 です。ただし、絶対パス名は常に /A/D/F/10 です。また、3 にアクセスするための相対パス名は ../../B/3 です。
たとえば、この構造を使用していて、で作業していると想像してくださいMyScript.php
。
Home
-- Foo
-- Example.php
-- Bar
-- Scripts
-- MyScript.php
Example.php
フォルダー内から含める場合は、次のFoo
いずれかを指定できます。
../../Foo/Example.php /* Relative path: ..Bar/..Home (Root)/Foo/Example.php */
または:
/Foo/Example.php /* Absolute path: Home (Root)/Foo.Example.php */