1

私は疑問を持っています.HTMLファイルには次の構造があります:

    MAIN -> index.php
         -> IMAGES -> image.jpg

「img」タグでは、これを使用する必要があります。

    <img src="IMAGES/image.jpg">

それともこれ?

    <img src="/IMAGES/image.jpg">

2 番目の例では、IMAGES の前にスラッシュを追加したことに注意してください。これは私の質問です。

4

5 に答える 5

3

その場合はどちらも機能しますが、最初のオプション(相対パス)を使用することをお勧めします。将来、プロジェクト全体を新しいルートディレクトリに移動しても、すべてのサイトが引き続き機能します。

于 2012-11-03T15:34:45.990 に答える
1

どちらも機能しますが、IMAGESディレクトリを移動する予定がない場合は、を使用してください/IMAGES/image.jpg。これは、マークアップのどこでも同じuriを使用できるため、望ましいでしょう(たとえば、を追加すると、機能しますがMAIN/SCRIPTS/newscript.php/IMAGES..機能IMAGES/image.jpgしません)。ただし、常にIMAGESをindex.phpと同じレベルのディレクトリとして保存するつもりで、index.phpを別の場所に移動する可能性がある場合は、を使用することを検討してIMAGES/image.jpgください。

于 2012-11-03T15:34:32.153 に答える
1

この場合、それらはまったく同じですが、次の更新された例を検討してください。

    MAIN -> index.php
         -> ABOUT -> index.php
         -> IMAGES -> image.jpg

ここで、ABOUT/index.php 内に違いがあります。

<img src="IMAGES/image.jpg"> # => /ABOUT/IMAGES/image.jpg

<img src="/IMAGES/image.jpg"> # => /IMAGES/image.jpg
于 2012-11-03T15:36:07.943 に答える
0

相対 URL を使用することの「安全性」は、URL でサブディレクトリを使用するかどうかによって異なります。

あなたのファイル構造を仮定すると、

http://example.com/index.phpにいる場合、URLIMAGES/image01.jpgは機能します。

http://example.com/somedir/index.phpにいる場合、"IMAGES/image01.jpgロードされません (http://example.com/somedir/IMAGES/image01.jpg意図したのではなく、検索されますhttp://example.com/IMAGES/image01.jpg)

これは、次の場合に相対 URL を使用することは「危険」であることを意味します。

1) index.php ファイルをサブディレクトリに移動またはコピーします 2) URL 書き換えを使用して、URL から index.php を削除します (したがって、example.com/some/location のような URL は に書き換えられますexample.com/index.php?l=some/location)

最も安全な方法は、変数を使用してベース URL を取得することです。

define('BASE_URL', 'http://example.com');

その後、HTML で次のようにします。

<img src="<?php echo BASE_URL; ?>/IMAGES/image01.jpg" alt="" />

将来サイトを移転する場合は、BASE_URL 定数を変更できます。

于 2012-11-03T15:42:41.733 に答える
-1

どちらも機能するはずですが、スラッシュを使用することをお勧めします。事前にスラッシュを追加すると、最上位のディレクトリを検索することになります。それがない場合、それは現在のファイルに関連することを意味します。

事前にスラッシュを使用する方法を使用すると、ファイルを移動したり、htmlを他のファイルにコピーしたりできます。ファイルがどこにあるかは関係ありません。

ちなみに、スラッシュがない場合は相対パスと呼ばれ、スラッシュがある場合は絶対パスと呼ばれます。

于 2012-11-03T15:32:34.543 に答える