作者kewang ()
看板PHP
标题[心得] 外部呼叫JavaScript跟PHP
时间Wed Feb 21 01:31:10 2007
HTML版本
http://blog.pixnet.net/kewang/post/2848937
看到一堆人在blog上面做线上人数的侦测,我就想说,为什麽一定要依赖别人的网站来
产生这个功能呢?然後就自己查了一下相关的资料。
因为一般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
--
杂七杂八的kewang部落格
http://kewang.pixnet.net
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.139.56.187
1F:→ smile0052:好用 02/21 08:14
2F:推 jim221:Good! 02/21 09:57
3F:推 appleboy46:Good 02/21 10:17
4F:推 jonathan0218:推!简单易懂 02/21 17:01