0

PHP で Web サイトを処理する方法がわからないため、Web サイトをサブフォルダーに移動するときは常にパスの問題について心配しています。

例を見れば簡単に学べるので、例を挙げて学びたいと思います。

このディレクトリで Web サイトを実行しているとします。httpdocs/development/subfolder/myWebsite/index.php

デフォルトでは PHP が実行さhttpdocs/index.phpれるため、これがルート パスですが、私の Web サイトはサブフォルダーで実行されます。

私のウェブサイトの index.php では、(サブフォルダーにいるので) 正しいフォルダーを指すようにするにはどうすればよいですか?

<img src="images/1.jpg"> // Does no dot means root path?

<img src="./images/1.jpg"> //Does ./ means which_directory_our_php_page_currently_in/images?

<a href="./"> // Points /subfolder/myWebsite/ or httpdocs/ ?

<a href=".."> //Same as above, but no front slash.

<a href=""> //Same as above

PHP で追跡するための定義や const を作成し、ファイルを移動するたびに変更したくありません。お気に入り:

define('SITE_PATH', './development/subfolder/myWebsite/');

特に になるとDIRECTORY_SEPARATOR、事態はさらに混乱するだけです。

PHPで専門的に処理する方法を知りたいです。とはどう違い./ますか?最後に、..スラッシュなしの意味。

ありがとうございました。

4

2 に答える 2

2

例のすべてのパスは相対パスです。つまり、現在の場所に基づいています。で始まるパス/は、サイトのルートに基づく絶対パスであることを意味します。

参照しているものを常に 100% 確実にしたい場合は/、パスの前に を使用します。

于 2013-03-13T22:08:16.130 に答える
1

UNIXシステムでは、現在のディレクトリで'./dirName'サブディレクトリを探します。単に現在の場所を指します。つまり、はと同等です。ただし、hrefでは使用しません。現在の場所を基準にしたパスの場合は、前のを使用しないでください。dirName../dirName'dirName'.

'../dirName'dirName現在のディレクトリの親でサブディレクトリを探します。..親ディレクトリを参照します。

ファイルパスがスラッシュで始まる場合は、ルートディレクトリを参照しています。ルートディレクトリ内に'/dirName'あるサブディレクトリを指します。dirName

于 2013-03-13T22:24:06.753 に答える