я должен использовать file_get_contents, curl или fopen?
Вы должны использовать тот, который подходит вашему потребляющему коду и который включен на вашем сервере. Если ответ XML, вам следует рассмотреть выборку файла с simplexml_load_file()
. Также см. Для этой цели пакет Geonames PEAR .
а какая функция в javascript? jquery $ .post? слышал, что он может получить доступ только к localhost.
Вы ссылаетесь на Политика аналогичного происхождения . Есть способов обойти это , но, опять же, если вы хотите получить XML напрямую из JavaScript, например, на стороне клиента, тогда для чего нужна PHP-часть, и почему бы вместо этого не получить данные webservice в виде JSON ?
Расскажите нам немного больше о том, как вы собираетесь использовать API, и как ваши посетители должны взаимодействовать с ним на вашей странице. Также часть, касающаяся идентификаторов в базе данных, немного расплывчата.
EDIT
Если вы просто хотите получить данные в базу данных, рассмотрите загрузку файла дампа с geonames.org и импортирование его в локальную базу данных:
Ежедневный дамп базы данных GeoNames можно загрузить в виде большого текстового файла по всему миру (allCountries.zip). Дополнительные файлы стран доступны для удобства. Вы найдете файлы на нашем сервере загрузки. Прочитайте readme.txt для деталей.
Почтовые коды доступны для отдельной загрузки.