openstreetmap — отправляет запрос GET из одного php-файла в другой php-файл

У меня есть php-файл, который принимает данные JSON, поступающие с URL. Я хочу, чтобы некоторые ключи и значения были включены в мою локальную базу данных, а оставшиеся ключи и значения были загружены в базу данных OpenStreetMap (OSM).

Я хочу вызвать соответствующий файл php с параметрами GET из основного файла php.

Мой сценарий выглядит так:

<?php

$url = "something";

$parts = file_get_contents($url);

$json = json_decode($parts);

//echo(sizeof($json));

$private = array("people_count");

$to_osm = array("Rent","drinking_water","Shop","communication","Energy_source","waste_management","Internet_access","emigrants","number_storey","adboard");

foreach ($json as $object) {

$get_url = "?id=";

foreach ($object as $key => $value) {

if ($key == "osmid") {
$id = $value;
$geom = "Polygon";
$get_url.=$id."&geom=".$geom;
//print_r($get_url);
}

elseif (in_array($key, $to_osm)) {
$get_url.="&".$key."=".$value;
}

}
print_r("updateOSM.php".$get_url);
}?>

Я пытался включить, но это не сработало. Я не могу перенаправить свою страницу, поскольку я выполняю цикл.

Любая помощь будет оценена.

2

Решение

попробуй это

header('Location: updateOSM.php'.$get_url);
exit();
1

Другие решения

Тем не мение

header('Location: updateOSM.php'.$get_url);

Это правильное решение, потому что после того, как вы нажмете это утверждение, вы сразу перейдете на другую страницу, тормозя следующее выполнение, так что вам не нужно exit() Или же die()

0

Я попробовал это:

<?php

$url = "something";

$parts = file_get_contents($url);

$json = json_decode($parts);

$private = array("people_count");

$to_osm = array("Rent","drinking_water","Shop","communication","Energy_source","waste_management","Internet_access","emigrants","number_storey","adboard");

foreach ($json as $object) {

$get_url = "?id=";

foreach ($object as $key => $value) {

if ($key == "osmid") {
$id = $value;
$geom = "Polygon";
$get_url.=$id."&geom=".$geom;
//print_r($get_url);
}

elseif (in_array($key, $to_osm)) {
$get_url.="&".$key."=".$value;
}

}

header('Location: updateOSM.php'.$get_url);

}

exit();
?>

Перенаправленный URL выглядит так:

updateOSM.php? ID = *******&геом = Многоугольник&Аренда = нет&drinking_water = public_supply&Магазин = нет&связь = да&Energy_source = солнечная&waste_management = septic_tank&Internet_access = да&эмигранты = нет&number_storey = 7&adboard = да

Идентификатор, который он показывает, является последним индексом моего массива $ json. И когда я проверил изменения функции в самом osm.org, я увидел только последнюю измененную функцию, а не другие.

Я хочу, чтобы updateOSM принимал каждый элемент массива, а не только последний, который вносил изменения.

0
По вопросам рекламы [email protected]