zhangjingyu
昨天都想放弃了,可今天还得继续。
从外网获取数据并处理为想要的ip地址归属的代码重要,最大的问题是网页结构可能有变,但一般情况下应该不会频繁。主要的问题在于,外网会不会阻止来自本站的访问请求。目前来说,频次不多,应该不会。另外,只要这一步能成功并稳定运行,后续会增加代码,把数据写进数据表,发帖后先本地查询,如果没有才会访问外网并把新的数据写进数据表。这样,访问外网次数减少,由于是本地查询,速度也能更快。
由于从外网获取的数据都是utf-8格式的(中文ip归属地),目前我们只能转换为“&#”这样格式的。而这其中用到的最为关键的函数是前天刚刚找到的utf8ToNumericEntities()(170楼)。
昨天发现归属地信息不显示后,尝试把上面这个转换函数的代码放在bbscode.php中,在调试文件中调用,结果应该是没有权限;而在最后实际需要修改的文件common.php文件中调用,也出错。
所以今天,先删除bbscode.php文件中新增加的utf8ToNumericEntities()的代码,恢复原样,并经过软件对比检查。然后尝试调整这些代码在调试文件中的位置,竟然成功了!修改common.php文件,把这个函数的代码也放在自定义处理外网数据的函数里,成为函数里的函数,竟然也成功了!
真是意外惊喜,只是不知道现在的样子能维持多久,因为前天也初步成功了,昨天就失效了。

