HOME >> 書籍・人物 >> 山崎はるかのメモ >> Webプログラミング

PHPの呼び出し元

似て非なるもの

Hatena bookmark Yahoo! bookmark

SSIで呼び出された場合の、呼び出し元の識別


test ディレクトリの中に、以下のHTMLがあったとします。

[ index.html ]

<html>
<body bgcolor="#FFFFFF">
<!--#include virtual="env.php"-->
</body>
</html>

同じディレクトリに 次の PHP を配置していたとします。

[ env.php ]

<?php

    echo "<br/>REQUEST_URI : ".$_SERVER['REQUEST_URI']."\n";
    echo "<br/>SCRIPT_NAME : ".$_SERVER['SCRIPT_NAME']."\n";
    echo "<br/>DOCUMENT_URI : ".$_SERVER['DOCUMENT_URI']."\n";
    echo "<br/>DOCUMENT_NAME : ".$_SERVER['DOCUMENT_NAME']."\n";

?>

- 結果 -

以下のように、呼び出し元( index.html )を識別できます。
似て非なるものということがわかります。


REQUEST_URI : /test/index.html 
SCRIPT_NAME : /test/env.php 
DOCUMENT_URI : /test/index.html
DOCUMENT_NAME : index.html 


単独で 直接 PHPを呼び出した場合の特徴


次の PHP を配置していたとします。

[ solo_env.php ]

<?php
echo'
<html>
<body bgcolor="#FFFFFF">
';

    echo "<br/>REQUEST_URI : ".$_SERVER['REQUEST_URI']."\n";
    echo "<br/>SCRIPT_NAME : ".$_SERVER['SCRIPT_NAME']."\n";
    echo "<br/>DOCUMENT_URI : ".$_SERVER['DOCUMENT_URI']."\n";
    echo "<br/>DOCUMENT_NAME : ".$_SERVER['DOCUMENT_NAME']."\n";

echo'
</body>
</html>
';
?>

- 結果 -

以下のように、になります。
識別には、
・REQUEST_URI と SCRIPT_NAME の一致、または
・DOCUMENT_* の空欄をとる方法
があることがわかります。


REQUEST_URI : /test/solo_env.php 
SCRIPT_NAME : /test/solo_env.php 
DOCUMENT_URI :
DOCUMENT_NAME : 

 


※このページはリンクフリーです。

■ Webプログラミングにもどる