바이낸스 api php 질문드립니다.
본문
$url = "https://api.binance.com/api/v3/ticker/price";
$data = file_get_contents($url);
$json = json_decode($data,true);
$btc = '';
$eth = '';
$ltc = '';
foreach($json as $k => $v){
if($v['symbol'] == 'BTCUSDT'){
$btc = $v['price'];
}elseif($v['symbol'] == 'ETHUSDT'){
$eth = $v['price'];
}elseif($v['symbol'] == 'LTCUSDT'){
$ltc = $v['price'];
}
}
echo 'Binance Today USD'.$eth;
이렇게 했는데 아무런 반응이 없어요 불러오지를 못하네요 ㅠㅠ
에러도 안나고 ㅠ
무슨 문제일가요?
!-->답변 4
카페24면 빈페이지에 file_get_content로 가져오는 데이터 먼저 확인해보세요
에러나시면
위에 적어놓은 소스에
$data = file_get_content($url)
$json = json_decode($data,true);
부분 주석처리하시고
아래소스로 넣고 해보세요
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL,$url);
$result=curl_exec($ch);
curl_close($ch);
$json = json_decode($result,true);
ETHBTC
오타인가 살펴 보세요.
잘나오는듯 한데요
function getCoin($coin){
if(!$coin){
return 0;
}
$url = "https://api.binance.com/api/v3/ticker/price";
$data = file_get_contents($url);
$json = json_decode($data,true);
$filter_coin = array_filter($json, function($a) use ($coin) {
return $a['symbol'] == $coin;
});
$filter_coin = array_values($filter_coin);
$return_price = (isset($filter_coin[0]['price']) && $filter_coin[0]['price'])?$filter_coin[0]['price'] : 0;
return $return_price;
}
echo getCoin('BTCUSDT');
echo "<br/>";
echo getCoin('ETHUSDT');
echo "<br/>";
echo getCoin('LTCUSDT');
저는 정상적으로 나옵니다.
다만 내용이 많아서 조금 늦게 결과가 나옵니다.
결과 값은
Binance Today USD1754.59000000 <-- 요렇게 나오네요
내용을 보면
[12] => Array
(
[symbol] => ETHUSDT
[price] => 1754.59000000
)
요렇게 배열로 되었는데 부분을 가지고 옵니다 참고 바랍니다.
답변을 작성하시기 전에 로그인 해주세요.