Yahoo CSV通过PHP转换为HTML-不再工作

iyfamqjs  于 2023-01-06  发布在  PHP
关注(0)|答案(1)|浏览(148)

我用PHP脚本把雅虎财经报价转换成HTML网页。但是在完美运行了一年之后,网页突然停止显示数据,而且根本没有任何代码更改。下面是我的代码:

<table>
<tr>
<?php $fp = fopen ("http://finance.yahoo.com/d/quotes.csv?s=VIP&f=l1c1p2rj1&e=.csv","r");
        $data = fgetcsv ($fp, 1000, ",") ?>
<td>Vimpel-Communications</td>
<td><?php echo $data[0] ?></td>
<td><?php echo $data[1] ?></td>
<td><?php echo $data[2] ?></td>
<td><?php echo $data[3] ?></td>
<td><?php echo $data[4] ?></td>
<td><?php echo $data[5] ?></td>
</tr>
</table>

这里是一个实际网站的测试页面:http://bricadr.com/test.php有人能帮忙吗?有人知道发生了什么事吗?或者我该怎么解决这个问题?另外,如果有人有服务器,你能看看这段代码在你的服务器上是否能正常工作吗?也许我的托管公司关闭了以前允许这段代码正常工作的一些功能。
先谢谢你!
布莱恩

bgibtngc

bgibtngc1#

更新:在我的服务器上测试过。当没有解析时,HTML中的注解是301重定向的通知。新页面是“http://download.finance.yahoo.com/d/quotes.csv?s=VIP&f=l1c1p2rj1&e=.csv“,只需更改您的URL。如果您想使用它,我已经更新了下面的代码。

无论如何,这里是你的代码的一个小效率版本,使用cURL是因为它比fopen much faster,我还使用了explode,因为由于某种原因cvs函数在我的服务器上不工作。

$curl=curl_init();
curl_setopt ($curl,CURLOPT_URL,"http://download.finance.yahoo.com/d/quotes.csv?s=VIP&f=l1c1p2rj1&e=.csv");
curl_setopt ($curl,CURLOPT_HEADER,0);
ob_start();
curl_exec ($curl);
curl_close ($curl);
$data=ob_get_clean();
$data=explode(",",$data);
$data=str_replace('"','',$data);
foreach ($data as $results)
  echo "<td>$results</td>";

工作here

相关问题