確認するために、使用しています:
$_SERVER["DOCUMENT_ROOT"]
使用と同じ:/
hTMLで。
例えば。現在のドキュメントが次の場合:
folder/folder/folder/index.php
(HTML)を使用して、roortで開始できます。
/somedoc.html
PHPで同じことを行うには、以下を使用する必要があります。
$_SERVER["DOCUMENT_ROOT"] . "/somedoc.html";
あれは正しいですか?それを行う簡単な方法はありますか?
<a href="<?php echo $_SERVER['DOCUMENT_ROOT'].'/hello.html'; ?>">go with php</a>
<br />
<a href="/hello.html">go to with html</a>
これを自分で試してみて、それらがまったく同じではないことを確認してください。
$ _SERVER ['DOCUMENT_ROOT']は、実際のFILE PATHをレンダリングします(自分のサーバーであるc:/ wamp/www /として実行されているコンピューター上で)
HTMLの/は、サーバーのURLのルートをレンダリングします。私の場合は、localhost /
しかし、c:/wamp/www/hello.htmlとlocalhost/hello.htmlは実際には同じファイルです
ちょうど_/
_は、パブリックhtmlフォルダーからWebサイトのルートを参照します。 _DOCUMENT_ROOT
_は、Webサイトを含むサーバー上のフォルダーへのローカルパスを指します。
たとえば、EasyPHPをマシンにセットアップしています...
_$_SERVER["DOCUMENT_ROOT"]
_はfile:///C:/Program%20Files%20(x86)/EasyPHP-5.3.9/www
を提供しますが、_/
_だけでリンクするファイルはwww
フォルダーに関連します。
(サーバーのルートから)サーバー上のファイルへの絶対パスを指定する場合は、_DOCUMENT_ROOT
_を使用できます。 Webサイトのルートからファイルへの絶対パスを指定する場合は、_/
_のみを使用します。
はい、サーバー側では$_SERVER['DOCUMENT_ROOT']
はクライアント側の/
と同等です。
例:"{$_SERVER['DOCUMENT_ROOT']}/images/thumbnail.png"
の値は、サーバー上の文字列/var/www/html/images/thumbnail.png
になります。このパスのローカルファイルには、クライアント側からURL http://example.com/images/thumbnail.png
にアクセスできます。
いいえ、つまり$_SERVER['DOCUMENT_ROOT']
の値は/
ではなく、サーバーがexample.com/
でクライアントに表示するものへのサーバーのローカルパスです
注:$_SERVER['DOCUMENT_ROOT']
には末尾の/
は含まれません