Переменная в url

Статус
В этой теме нельзя размещать новые ответы.

13zone

Профессор
Регистрация
22 Ноя 2008
Сообщения
203
Реакции
45
как правильно вставить переменную в урл?

Код:
    $cityofcountry = $get_listcity->data[0]->state;
    //echo $cityofcountry; //в переменной Киев
    $a1 = "http://api.airvisual.com/v2/cities?state=".$cityofcountry."&country=Ukraine&key=мой апи ключик";
$liststate = file_get_contents($a1);   
$get_liststate = json_decode($liststate);
$goroda = $get_liststete->data[0]->city;
    echo $goroda; // в переменной пусто...
 
Hello,

the error is in your code "Notice: Undefined variable: get_liststete", you have defined $get_liststate and using $get_liststete with an e.

I did a test using curl and it returned the city correctly:

Код:
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "http://api.airvisual.com/v2/cities?state=Kyiv&country=Ukraine&key=...",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$decoded = json_decode($response);

var_dump($decoded->data[0]->city); //Brovary

It is not wrong to use file_get_contents but you have to make sure that you create a context before calling any external url, because if it fails it will break your connection or even worst it will keep loading until php force it to close.

Код:
$opts = array('http' =>
array(
'method' => 'GET',
'timeout' => 10
));

$context = stream_context_create($opts);
$json = file_get_contents("http://api.airvisual.com/v2/cities?state=Kyiv&country=Ukraine&key=...", false, $context);
$decoded = json_decode($json);

var_dump($decoded->data[0]->city); //Brovary
 
да, вот что значит опечатался в переменной... все )) мозги поплыли, пора идти домой отдыхать.. спасибо за то что поправили, все работает, а я то и думаю.. все написал правильно, и пусто.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху