PHPアプリケーションを開発する場合、相対パスを絶対パスに変換する必要があることがよくあります。ファイルをロードする場合でも、外部リソースを導入する場合でも、絶対パスはファイルが正しくロードされるようにすることができます。この記事では、相対パスを絶対パスに効率的に変換するのに役立つ一般的に使用される2つの方法を詳細に紹介します。
PHPは、相対パスを絶対パスに変換する非常に簡単な方法を提供します。つまり、RealPath()関数を使用します。この関数は、与えられた相対パスの絶対パスを返します。
RealPath()関数の構文は次のとおりです。
この関数は、パラメーターを取ります - 変換する相対パスは、変換された絶対パスを返します。
次の例は、RealPath()関数を使用して相対パスを絶対パスに変換する方法を示しています。
上記の例では、相対パス「画像/logo.png」をRealPath()関数に渡し、返された絶対パスを$ AbsolutePath変数に保存します。最後に、エコーステートメントを使用して絶対パスを印刷します。
現在のPHPファイルが「/var/www/html」ディレクトリにあると仮定すると、「画像/logo.png」の絶対パスは '/var/www/html/images/logo.png'になります。
RealPath()関数に加えて、PHPは__dir__定数も提供します。これは、現在のスクリプトが配置されているディレクトリへの絶対パスを表します。相対パスを__dir__定数と組み合わせることにより、相対パスを絶対パスに変換できます。
相対パスを絶対パスに変換するには、相対パスを__dir__定数に接続するだけです。
次の例は、__dir__定数を使用して相対パスを絶対パスに変換する方法を示しています。
この例では、相対パス「画像/logo.png」を__dir__定数と連結し、絶対パスを取得して$ absolutepath変数に保存します。次に、エコーステートメントを介して変換されたパスを印刷します。
PHPファイルが '/var/www/html'ディレクトリにある場合、最終的な絶対パスは「/var/www/html/images/logo.png」です。
PHPまたは__dir__定数によって提供されるRealPath()関数を使用することにより、相対パスを絶対パスに簡単に変換できます。これは、ファイルの読み込みを処理して外部リソースを導入する場合に非常に便利です。 RealPath()または__DIR__を使用する選択は、個人の好みとコード構造に依存しますが、どちらもパス変換の問題を効果的に解決できます。
選択したメソッドに関係なく、変換された絶対パスが適切な変数に保存されていることを確認して、その後の使用を行います。