我尝试使用此网址作为示例访问Yahoo&#api(使用PHP / Mysql实现)的历史数据:
$filesize = 2000;
$handle = fopen($url, "r");
$raw_quote_data = fread($handle, $filesize);
echo $raw_quote_data;
fclose($handle);
这是我用来访问它的代码:
self.viewDidLoad()
echo语句用于错误检查,以确保在将数据存储到数据库之前获取所有数据。但是,返回的$ raw_quote_data只包含输入时间范围的最后30天的数据。因为我输入的日期范围是从2014年1月1日到2015年1月1日,所以应该返回365天的数据。那么我做错了什么?其余数据在哪里?
我尝试的第一件事当然是更改文件大小,这对输出没有任何影响。
答案 0 :(得分:1)
改为使用file_get_contents()
。
$raw_quote_data = file_get_contents($url);
答案 1 :(得分:0)
您正在请求一个15kb的文件,只读取2000字节。另请注意,当您手动从缓冲区读取时,所有数据可能尚未到达。这就是为什么"它没有任何区别。"
请改为尝试:
set_time_limit(0);
$file = @fopen($file_path,"rb");
while(!feof($file))
{
print(@fread($file, 1024*8));
ob_flush();
flush();
}
有关详细信息,请参阅this article。
或者 file_get_contents
可能是一种更简单的方法。