Так что я пытаюсь кодировать .php файл, который нужно извлечь строку из API вызова (пример текста, который будет здесь добывали: https://gyazo.com/1efffc2360bd6aba15ece3437251aebd)Извлечение строки из запроса API не работает
Код:
<?php
$item = $_GET['item'];
$item = str_replace("\"", "", $item);
$item = str_replace("\'", "", $item);
$item = str_replace(" ", "%20", $item);
$item = str_replace("\\", "", $item);
@include_once ("pdocon.php");
$stmt = $dbh->prepare("SELECT * FROM items WHERE name=?");
$stmt->execute(array($item));
$rs = $stmt->fetch(PDO::FETCH_ASSOC);
if(!empty($rs)) {
if(time()-$rs["lastupdate"] < 604800) die($rs["cost"]);
}
$link = "https://bitskins.com/api/v1/get_item_price/?api_key=(NOTSHOWINGYOUGUYSMYAPIKEY)&names=".$item;
$string = file_get_contents($link);
$json = $string;
$obj = json_decode($json);
//print $obj->{"median_price"}; // 12345
//$obj = json_decode($string);
if($obj->{'status'} == "success") die("notfound");
$lowest_price = $obj->{'price'};
$lowest_price=str_replace("$", "", $lowest_price);
$lowest_price = (float)($lowest_price);
//$stmt = $dbh->prepare("DELETE FROM items WHERE name=?");
//$stmt->execute(array($item));
$stmt = $dbh->prepare("UPDATE items SET `cost` = ?,`lastupdate` = ? WHERE `name` = ?");
$stmt->execute(array($lowest_price, time(), $item));
$stmt = $dbh->prepare("INSERT INTO items (`name`,`cost`,`lastupdate`) VALUES (?, ?, ?)");
$stmt->execute(array($item, $lowest_price, time()));
echo $lowest_price;
?>
Проблема в том, что код не извлекает нужную мне строку (переменную $ lower_price). Я попытался запустить его, указав переменную $ item самостоятельно в формате значения имени хэш-индекса, а также используя отображаемый скрипт. Безрезультатно. Любая идея почему?
Спасибо.
О, и я думаю, что $ LOWEST_PRICE = str_replace ("$", "", $ LOWEST_PRICE); неправильно написано неправильно? Он ищет $, но результат API не содержит его. Поправьте меня если я ошибаюсь. – bagda391
@ bagda391 Я бы не сказал, что это «неправильно». Он просто ничего не делает, если API всегда будет возвращать цену без символа валюты. –
в основном его бесполезно. поэтому я могу удалить его – bagda391