今天接到了一个任务,我们有个门户的网站,里面有好几个地区的医院,老板要让不同地区的人访问的时候,弹窗他们本地的商务通,我一开始想,这还不简单吗,不就是找个获取ip归属地的接口,然后获得返回值判断一下,然后再根据返回值调用不同的商务通不就ok了吗,实际上缺不然,因为我们门户的站都是生成的静态页面,不能够执行php。而获取访客的ip一定要用php的。所以我就纠结了。所以我就想,用js能不能调用php呢。所以我就做了个实验,从静态页面,<script language=’javascript’ type=’text/javascript’ src=’1.php’></script>来调用php页面。但是这样访问这个静态页面如何知道之执行了1.php呢,那就在1.php中写一个创建文件的操作。mkdir(‘aa’);然后访问静态文件。发现果然创建了aa这个文件夹。说明可以实现。

那么下面的问题就只剩下一个了,如何将1.php获取ip。并通过接口获得归属地后判断取得的对应的商务通返回给静态页面。这个地方是最纠结的。不过,我觉得一定也是有人遇到过这种情况。我们这样想,js src链接了php文件,那么php里面所echo的东西就相当于js文件里的东西,但是区别是他没有js文件的属性,不能单纯的看做js文件的。所以我们在静态文件再定义个js函数。<script>ok();</script>。在2.php。我们echo ”function ok(){document.write(‘dddddddddddddd’)}”;。访问发现在静态文件出现了dddddddddddddd。这说明我们的原理行得通的。所以我们只需要将这里的dddddddddddd换成判断后得到的商务通就ok了。哈哈。这样问题就解决了。

关于获取ip归属地的接口,可以在这里下载。访问里面的ip.php。给他相应的参数,就可以获得相应的返回值,对了,有人还问页面中如何打开一个url。可以用file_get_contents试一下。

当然也可以用本站接口:http://www.521php.com/api/ip.php

本文链接:http://www.521php.com/archives/272/

程序本天成,妙手偶得之!我们只是代码的搬运工!

转载请注明:http://www.521php.com/archives/272/

发表评论

昵称:

网址:

eg.博客主题调用的是Gravatar头像,你可以通过邮箱注册获得头像.
/ 快捷键:Ctrl+Enter