PHPでリンク先を絶対パスで指定できない
Windows 10でXAMPPを使用し、PHPのサイトを作っています。
「htdocs」フォルダ直下に「test」フォルダを作り、その中に「firstPage.php」と「secondPage.php」を作りました。
今はローカル環境のXAMPPで動かしていますが、いつかはサーバーなどに上げたいと思い(セキュリティーの話は一旦置いておいてください)、リンク先のパスを絶対パスで指定しようとしました。
ところが、firstPageはちゃんと表示されたのですが、そこからsecondPageに絶対パスを用いて移動することができません。
相対パスを用いれば移動することはできます。
firstPageのソースコードは次の通りです。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
// これは移動できない
<?php echo '<a href='.__DIR__.'/secondPage.php>secondPage</a><br />' ?>
// これは移動できる
<?php echo '<a href=secondPage.php>secondPage</a><br />' ?>
</body>
</html>
ブラウザでソースを表示するとリンク部分は
<a href=C:\xampp\htdocs\test/secondPage.php>secondPage</a><br />
<a href=secondPage.php>secondPage</a><br />
と表示されていますが、正直この違いがどう影響しているのかが分かりません。
なんとなく、Apacheが上手く動いてくれていない気はするのですが・・・
追記
ブラウザ上ではリンク部分は両方とも同じように青くなっているのですが、__DIR__を使った方はクリックしても無反応です。
<?php echo '<a href='.__DIR__.'/secondPage.php>secondPage</a><br />' ?>
の「/secondPage.php」を「\secondPage.php」にしても、変化はありませんでした。
また、includeやrequire_onceでは、__DIR__を使っても読み込めます。
今のところ、リンクの場合に問題となるようです。