Php 没有返回任何数据
我正在通过localhost/quote.php?symbol=IBM尝试以下操作,但是$data在第42行返回为空,其中表示缺少数据Php 没有返回任何数据,php,yahoo-finance,Php,Yahoo Finance,我正在通过localhost/quote.php?symbol=IBM尝试以下操作,但是$data在第42行返回为空,其中表示缺少数据 <?php // require ?symbol=... if (empty($_GET["symbol"])) { trigger_error("Missing symbol", E_USER_ERROR); } echo $_GET["symbol"]; $_GET["symbol"] = "IBM"; //
<?php
// require ?symbol=...
if (empty($_GET["symbol"]))
{
trigger_error("Missing symbol", E_USER_ERROR);
}
echo $_GET["symbol"];
$_GET["symbol"] = "IBM";
// headers for proxy servers
$headers = [
"Accept" => "*/*",
"Connection" => "Keep-Alive",
"User-Agent" => sprintf("curl/%s", curl_version()["version"])
];
// open connection to Yahoo
$context = stream_context_create([
"http" => [
"header" => implode(array_map(function($value, $key) {return sprintf("%s: %s\r\n", $key, $value); }, $headers,
array_keys($headers))),
"method" => "GET"
]
]);
$handle = fopen("http://download.finance.yahoo.com/d/quotes.csv?f=snl1&s= {$_GET["symbol"]}", "r", false, $context);
if ($handle === false)
{
trigger_error("Could not connect to Yahoo!", E_USER_ERROR);
}
// download first line of CSV file
$data = fgetcsv($handle);
print_r($data);
if ($data === false || count($data) == 1)
{
trigger_error("Missing data", E_USER_ERROR);
}
// close connection to Yahoo
fclose($handle);
// ensure symbol was found
if ($data[2] === "0.00")
{
trigger_error("Missing price", E_USER_ERROR);
}
// prepare stock as an associative array
$stock = [
"symbol" => $data[0],
"name" => $data[1],
"price" => floatval($data[2])] ;
// output stock as JSON
header
("Content-Type: application/json");
print(json_encode($stock));
?>
您的URL包含空格:
fopen("http://download.finance.yahoo.com/d/quotes.csv?f=snl1&s= {$_GET["symbol"]}",
^^
您需要trim()
it
<?php
error_reporting(E_ALL); // you could also use '-1' to get all errors.
ini_set('display_errors', 1);
// rest of your code
第42行是什么,这是什么&s={$\u GET[“symbol”]}”
-似乎缺少一些GET参数。使用错误报告,您可能需要trim()
那是因为那里的空间。修剪起了作用,谢谢你,不用谢。回答得好,只是破坏了那个完美的代表;P@Darren哈哈哈!!是的,我看到了。今天早上看到完美的55000真是太酷了,得到了两个五分钱;-)不用担心,伙计,干杯,谢谢。自从我上次看到你的rep!真是令人印象深刻,先生!恭喜;-)@Darren一定有一段时间了Darren。天哪,我现在不经常提交那么多答案,只提交确定的赌注和明确的问题。我得到了一些残差,这很好。我忍不住;-)稍后见,先生!