ホームページ  >  記事  >  ウェブフロントエンド  >  ファイルへの絶対パスと相対パスについての深い理解

ファイルへの絶対パスと相対パスについての深い理解

yulia
yuliaオリジナル
2018-09-21 16:11:273153ブラウズ

ファイルや画像を参照する場合、相対パスと絶対パスが関係します。これらを明確に区別しないと間違いを犯しやすくなります。この記事では、ファイルの相対パスと絶対パスを示しますので、お役に立てれば幸いです。

DW を使用して HTML を記述する場合、特定のファイルへのパスを直接選択できるようになりました。Webstorm を使用すると、HTML ファイルと同じディレクトリ内のファイルのみを選択できます。ファイルへの絶対パスと相対パスの違いを整理してみましょう。

1. 絶対パス

まず、ローカル コンピューター上で、ファイルの絶対パスは、ファイルがハードディスク上に実際に存在するパスを指します。 。

たとえば、このパス: D:/wamp/www/img/icon.jpg は、icon.jpg ファイルが D ドライブの wamp ディレクトリの下の img サブディレクトリにあることを示します。絶対パスに基づいてファイルの場所を決定するために、他の情報を知る必要はありません。

ハイパーリンク ファイルの場所もあり、これも絶対パスです (http://www.img.net/img/icon.jpg など)。

注意: 編集したページは、ご自身のコンピュータでは正常に閲覧できる場合もありますが、Webサーバーにアップロードして閲覧すると画像が表示されない場合があります。静的 HTML ページは Web サイトにアップロードする必要があるため、Web サイト アプリケーションでは通常、ルート ディレクトリを表すために「/」を使用します。/img/icon.jpg は、photo.jpg ファイルがルートの img ディレクトリにあることを意味します。ウェブサイトのディレクトリ。ただし、ここで言うルート ディレクトリは Web サイトのルート ディレクトリではなく、Web サイトが配置されている Web サーバーのルート ディレクトリであることに注意してください。 Web サーバーにアップロードする場合、Web サイト全体が Web サーバーの D ドライブに配置されるのではなく、F ドライブまたは H ドライブに配置される場合があるためです。 Web サーバーの D ドライブに配置しても、Web サーバーの E ディスクにディレクトリ「D:/wamp/www/img」が存在しない場合があり、Web 閲覧時に画像が表示されません。これは、絶対パスを適用する場合のリスクでもあります。

2. 相対パス

相対パスは、その名前が示すように、ターゲットの場所からの相対パスです。

たとえば、インポートするファイルのページ名が test.htm で、www (絶対パス D:/wamp/www/test.htm) というフォルダーに存在するとします。同時に、「icon.jpg」ファイルが www フォルダー (絶対パス D:/wamp/www/icon.jpg) に存在し、ファイルが同じディレクトリーにある場合は相対パス icon.jpg が存在します。 「icon.jpg」は img フォルダ(絶対パス D:/wamp/www/img/icon.jpg)内に存在し、その後の相対パス img/icon.jpg になります。

相対パスを使用すると、異なるルート ディレクトリに関する上記の問題を回避できます。 Web ページ ファイルと参照ファイルの相対位置が Web サーバー上のファイルの相対位置と一致して保存されている限り、それらの相対パスも一致します。たとえば、上記の例では、「icon.jpg」画像は「test.htm」ファイル内で参照されています。「icon.jpg」画像は「test.htm」と同じディレクトリにあるため、この 2 つのファイルは同じディレクトリにあるため、Web サーバーのどこにアップロードされても、画像はブラウザに正しく表示されます。

注: 相対パスではディレクトリ区切り文字として「/」文字が使用されますが、絶対パスではディレクトリ区切り文字として「\」または「/」文字が使用できます。 「img」ディレクトリは「www」ディレクトリの下のサブディレクトリであるため、「img」の前に「/」文字を追加する必要はありません。

相対パスでは、上位ディレクトリを表すために「../」がよく使用されます。上位ディレクトリが複数ある場合は、「../」を複数使用できます。 「test.htm」ファイルが存在するディレクトリが「D:/wamp/www/test.htm」であり、「icon.jpg」画像が存在するディレクトリが「D:/wamp/www」であるとします。の場合、「icon.jpg」画像は、ファイルが配置されているディレクトリの上位ディレクトリにある「test.htm」ファイルの場合、画像を引用するステートメントは次のようになります。

「test.htm」ファイルが存在するディレクトリが「D:/wamp/www/test.htm」であると仮定します。 「icon.jpg」画像が配置されているディレクトリは「D:/wamp/www」である場合、「「test.htm」ファイルと比較して、「icon.jpg」画像は上位のサブディレクトリにあります。画像が存在するディレクトリのレベル ディレクトリ - 「img」。画像を引用するステートメントは次のようになります。

< ;img src="../img/icon.jpg" />

## 3. 仮想パス

ファイルをリモート サーバーにアップロードした後、これらのファイルはサーバーのローカル ディレクトリ ツリー内のフォルダーに残ります。たとえば、Microsoft IIS を実行しているサーバーでは、ホームページへのパスは次のようになります。 c:\Inetpub\wwwroot\accounts\users\jsmith\index2.htm このパスは、ファイルへの物理パスと呼ばれることがよくあります。 。ただし、ファイルを開くために使用される URL は物理パスを使用しません。これは、サーバー名またはドメイン名に続いて仮想パスを使用します (これは仮想ディレクトリです。仮想ディレクトリは HTTP アクセス用であり、ユーザーが Web サイトまたは FPT を参照するときに表示されるディレクトリ構造です。たとえば、E:\ を設定します) Web サイトとしてディレクトリにアクセスすると、E:\Website\Image は仮想ディレクトリのルート ディレクトリになります。したがって、上記の例に従って、仮想パスは

整理してみましょう

"./" は現在のディレクトリを表します

"../" は上位ディレクトリを表します

"/" 現在のルート ディレクトリは相対ディレクトリです。

" ~/" Web アプリケーションのルート ディレクトリ。 ASP.NET では、サーバー コントロールでパスを指定するときに使用できる Web アプリケーション ルート演算子 (~) が有効になります。 ASP.NET は、~ 演算子を現在のアプリケーションのルート ディレクトリに解決します。 ~ 演算子をフォルダーとともに使用して、現在のルート ディレクトリに基づいたパスを指定できます。 この例では、画像ファイルは Web のルート ディレクトリの Images フォルダから直接取得されます。アプリケーション Web サイトのページがどこにあっても読み取れます。

以上がファイルへの絶対パスと相対パスについての深い理解の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。