javascriptでPHPファイルを実行してそれを出力する方法

公開日:
更新日:
カテゴリー: javascript

javascriptでPHPファイルを実行して、その内容を出力する方法をまとめています。

PHPが使えない環境のサイトに動的なコンテンツを出力させたり、javascriptでは取得できないIPアドレスを渡したりできるようになります。

PHPファイルの読み込み

通常、スクリプトファイルを読み込む際

<script type="text/javascript" src="http://○○○.com/△△△.js"></script>

のようにjsファイルをsrc属性に指定しますが、下記のようにPHPファイルも指定できます。

<script type="text/javascript" src="http://○○○.com/△△△.php"></script>

すなわち、PHPファイルを内部サーバーもしくは外部サーバーに用意し、上のようにPHPファイルを呼び込んであげるだけでPHPが実行され、その内容が出力されるわけです。

javascriptでPHPファイルを実行

例として、無料ブログなどのPHPが使えない環境にあるサイトに、アクセスしてきたユーザーのIPアドレスを出力させる方法を紹介します。

まず、PHPが実行できるサーバーに以下を記述したファイルを設置します(ファイルのURLは(http://○○○.com/△△△.phpとする)。

<?php
//javascriptファイルとして処理させる
header("Content-type: application/x-javascript");
//IPアドレスを変数に代入
$ip_address = $_SERVER['REMOTE_ADDR'];
//スクリプトの出力
echo "document.write('" . $ip_address . "');";
?>
【補足】
☆ヘッダーの指定
ヘッダーにコンテンツタイプ「application/x-javascript」を指定し、PHPが出力した内容がjavascriptファイルであることを明示します(なくても私の環境ではコンテンツは出力されました)。

☆javascriptで出力
PHPで出力したあとはjavascriptファイルとして扱うので「document.write」などで出力しなければページ上に表示されません。

そして、無料ブログのサイトに以下のコードを設置します。

<script type="text/javascript" src="http://○○○.com/△△△.php"></script>

すると

111.111.111.111

のようにIPアドレスが出力されます。

javascript→javascriptファイル→PHPファイルを呼び出す

javascriptでjavascriptファイルを呼び出し、さらにPHPファイルを呼び出すことも可能です。

この場合、javascriptファイル(http://○○○.com/□□□.js)に以下の記述をします。

document.write('<script type="text/javascript" src="http://○○○.com/△△△.php"></script>');

そしてPHPが出力した内容を表示させたい場所に、以下のコードを設置します。

<script type="text/javascript" src="http://○○○.com/□□□.js"></script>

かなり面倒で使用どころがあまりないですが、よくGoogleAnalyticsのコードやその他のツールで「このjavascriptのコードを貼ってください」とありますが、実はそのコード中にあるjsファイルの中身にはこうした外部サーバーのPHPファイルなどがあり、アクセスしてきたユーザーの情報を取得したりゴニョゴニョ分析したりしています。

 

あわせて読んでほしい!

 

コメント

まだコメントはありません。

コメントフォーム
お名前
コメント