geonames.org获得了一个web api,您可以使用它来获取城市的所有层次结构。
您只需输入ID,然后您将以xml格式返回数据。
http://ws.geonames.org/hierarchy?geonameId=2657896
我想知道你是如何使用php和javascript获取网址的,以及我应该使用哪个网址。
导致id在mysql数据库中。我会用php来获取它们。
我应该使用file_get_contents,curl还是fopen?
和javascript中的哪些功能? jquery $ .post?听说它只能访问localhost。
在这里提供一些指导会很棒,甚至可以通过一些代码示例更好。
谢谢!
答案 0 :(得分:0)
我应该使用file_get_contents,curl还是fopen?
您应该使用适合您的消费代码且在您的服务器上启用的代码。如果响应是XML,则应考虑使用simplexml_load_file()
获取文件。另请参阅Geonames PEAR package for this purpose。
和javascript中的哪些功能? jquery $ .post?听说它只能访问localhost。
你所指的是Same Origin Policy。有ways around it,但是如果你想直接从JavaScript获取XML,那么就是{客户端,然后PHP的部分是什么,为什么不取而代之的是webservice data as JSON?
告诉我们更多关于您打算如何使用API以及访问者应如何在您的网页上与其进行互动的信息。关于数据库中ID的部分也有点模糊。
修改强>
如果您只想将数据存入数据库,请考虑downloading the dump file from geonames.org并将其导入本地数据库:
每日GeoNames数据库转储可以以大型全球文本文件(allCountries.zip)的形式下载。其他国家/地区文件可供使用。您在我们的下载服务器上找到这些文件。阅读readme.txt了解详细信息。 邮政编码可单独下载。