php - 所有城市的名称

标签 php mysql

<分区>

问题

我想在我的网络用户注册到这个网络应用程序时为他们提供城市选择。我必须确定地址是正确的,因为我会定期向他们发送邮件以验证他们的地址。胡说八道或拼写错误的城市名称会给我带来麻烦。

当前状态

到目前为止,我一直使用一个包含我国所有城市名称的数据库表。我的国家有大约 600 个城市,所以从维基百科手动填充表格不是问题。但是,最近我打算允许来自其他国家(包括德国和美国)的注册,这应该是个问题。

问题

想请教一下城市选择/验证如何专业解决?

  1. 我是否必须为所有城市创建一个大表(使用国家/地区外键)并使用一些导入脚本填充它?那我应该去哪里找资料呢?是否已经存在这样的导入脚本?
  2. 或者使用一些第三方服务来提供/验证城市名称是否更好。当这个服务下线时会发生什么?你知道这样的服务吗?你能举例说明如何使用它吗?
  3. 您会建议完全不同的解决方案吗?

最佳答案

我认为保留城市/州数据库不切实际,因为您将面临另一个问题,即保持此更新并确保您也存储城市名称的所有变体。

最好使用第三方网络服务。美国邮政服务 (USPS) 提供 web service您可以使用。您可以将其发送到任何地址,它会向您返回经过清理/验证的版本(如果地址有效)或错误消息。

可以为其他国家或通过使用 DHL 或 FedEx 等跨国 express 公司的 API 找到类似的服务。

但是,如果您打算运送 cargo - 为什么不选择像 Easypost 这样的服务呢?他们不仅提供 comprehensive api ,但他们也会验证地址,甚至计算运费(如果您愿意的话)。

关于php - 所有城市的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24752271/

相关文章:

php - ORA-01036;非法变量名称/编号

php - 删除 php-mysql 结果行中的重复字段

php - 网站的 OO 还是程序化 PHP?

sql - mysql查询帮助(根据时间戳选择最新更新)

mysql - 有没有办法列出多列中的不同字段结果

php - 如何在 Yii 中使用 union 2 select 创建查询?

php - PDO 和 sqlsrv 中的问题

php - SQL 查询为每个 id 选择一个图像

创建过程中的 MySql OUT 参数未编译

php - 将脚本从 PHP 5.6 移至 PHP 7