看到一堆人在blog上面做線上人數的偵測,我就想說,為什麼一定要依賴別人的網站來產生這個功能呢?然後就自己查了一下相關的資料。
因為一般blog的自訂欄位只能擺javascript的語法,可是像這種線上人數偵測的功能, 通常都是要搭配PHP才能做的出來。還有部落格觀察也是一樣使用js加上php,看了一下部落格觀察的js code,又上google查了一些資料,終於知道怎麼實作出來了。
一開始我們有兩個檔案foo.js還有ip.php,內容分別為
foo.js
執行結果為
hello world
the editor is kewang
ip.php
執行結果為
the IP is xxx.xxx.xxx.xxx
我們知道,一般在呼叫外部JavaScript的方式都是像下面這種方法
如果現在要顯示的結果為下面這種功能,就要把PHP和JavaScript結合在一起
hello world
the editor is kewang
the IP is xxx.xxx.xxx.xxx
可是我們現在要執行php的話,那該怎麼寫?簡單,就改成下面這種形式
然後將ip.php的內容改成下面這種
Header那一行主要是要跟browser說,ip.php這個檔案解譯出來的檔案是javascript檔,既然如此,那下面的輸出指令當然也是要遵守javascript的語法了,所以我們將document.write包在echo的裡面。
除了輸出指令以外,其他部分可以利用PHP的語法撰寫程式,這樣子我們就可以一邊利用PHP的$_SERVER取出IP,一邊用javascript顯示資料,大功告成!只要這篇文章了解之後,顯示線上人數的功能也不難完成了。
參考資料:
External JavaScript and PHP
首頁∕PHP建構術∕線上人數統計
因為一般blog的自訂欄位只能擺javascript的語法,可是像這種線上人數偵測的功能, 通常都是要搭配PHP才能做的出來。還有部落格觀察也是一樣使用js加上php,看了一下部落格觀察的js code,又上google查了一些資料,終於知道怎麼實作出來了。
一開始我們有兩個檔案foo.js還有ip.php,內容分別為
foo.js
document.write("hello world");
document.write("the editor is kewang");
執行結果為
hello world
the editor is kewang
ip.php
<?php
$serverIP=$_SERVER['REMOTE_ADDR'];
echo "the IP is $serverIP";
?>
執行結果為
the IP is xxx.xxx.xxx.xxx
我們知道,一般在呼叫外部JavaScript的方式都是像下面這種方法
<script type="text/javascript" language="JavaScript" src="foo.js"></script>
如果現在要顯示的結果為下面這種功能,就要把PHP和JavaScript結合在一起
hello world
the editor is kewang
the IP is xxx.xxx.xxx.xxx
可是我們現在要執行php的話,那該怎麼寫?簡單,就改成下面這種形式
<script type="text/javascript" language="JavaScript" src="ip.php"></script>
然後將ip.php的內容改成下面這種
<?php
Header("content-type: application/x-javascript");
$serverIP=$_SERVER['REMOTE_ADDR'];
echo "document.write(\"hello world\");";
echo "document.write(\"the editor is kewang\");";
echo "document.write(\"the IP is" . $serverIP . "\");";
?>
Header那一行主要是要跟browser說,ip.php這個檔案解譯出來的檔案是javascript檔,既然如此,那下面的輸出指令當然也是要遵守javascript的語法了,所以我們將document.write包在echo的裡面。
除了輸出指令以外,其他部分可以利用PHP的語法撰寫程式,這樣子我們就可以一邊利用PHP的$_SERVER取出IP,一邊用javascript顯示資料,大功告成!只要這篇文章了解之後,顯示線上人數的功能也不難完成了。
參考資料:
External JavaScript and PHP
首頁∕PHP建構術∕線上人數統計