原来js可以这样用。类似51la.cnzz统计的js接口

本文探讨了一种通过JS动态加载并执行PHP代码的方法,解决跨语言访问控制的问题,具体展示了如何在静态页面中通过JS调用PHP获取IP地址并判断地区,进而实现本地商务通的弹窗功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自己工作的时候遇到的一个要求,发现原来js和php结合竟然可以如此的强大。

张存超php技术博客


今天接到了一个任务,我们有个门户的网站,里面有好几个地区的医院,老板要让不同地区的人访问的时候,弹窗他们本地的商务通,我一开始想,这还不简单吗,不就是找个获取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试一下。


这个流量统计是非常简单的,但我个人觉得也是挺实用的 这个也是我目前自己站用的流量统计 为什么做这个小东西,是因为,之前我用过某个知名的流量统计,但有几天突然就打不开了, 搞的我网页的下部分也跟着打不开,网页打开进度一直显示在加载,效果很不好 也用过有的流量统计,给插了广告之类, 同时我的站也是生成HTML,做站的都知道,批量生成HTML简直是要命的,如果今天我用了某个流量统计 那天他不做了,那我那些页面里面加载的代码是不是还都得重新做次? 当然,网上如cnzz.com,51la等等统计都是很不错的,功能齐全,同时可以代表一定的客观性,总而言之 适合自己的就好! 程序很简单 可以显示显示的来访IP,地区,一个简单的曲线表,一个概述,以及来访域名,和搜索引擎关键词等 简单而实用 adminstat.asp 是管理页面,就一个 mystat.asp和stat.asp 是统计流量的文件 DATA里面当然是数据库啦,数据库很大,有30多MB,因为里面加了IP地址的数据库,有30多万条,是我之前 商贸版IP地址查询里面,有兴趣的可以取下,以后会考虑分离掉,因为我现在自己用的是SQL的,所以不太 存在数据库文件大的问题,所以这边我暂时懒得改,以后有时间把IP地址库和数据库分离 调用: 当然你前面最好加上域名,比如我站里是: 关于删除历史的解释,系统会把每个访问的IP都记录下来,但为了系统效率,我们只记录3天内的详细IP 为了方便大家整合到自己的站里,我没有加任何的广告啊,还有adminstat.asp 后台管理的权限限制,如果大家要整合到自己站里 注意给访问页面添加权限
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值