我正在处理股票行情自动收报机和股票代码的网站搜索号码。我在this site找到了一个自动收报机。
但是我在显示屏幕时遇到错误 - 哪里出错了?
我在下面的代码中感觉错误,但我不知道如何修复它。
// ...format, and output them. I made the symbols into links to Yahoo's stock pages.
echo "<span class=\"stockbox\"><a href=\"http://finance.yahoo.com/q?s=".$stock_info[0]."\">".$stock_info[0]."</a> ".sprintf("%.2f",$stock_info[1])." <span style=\"";
// Green prices for up, red for down
if ($stock_info[2]>=0) { echo "color: #009900;\">↑"; }
elseif ($stock_info[2]<0) { echo "color: #ff0000;\"> }
echo sprintf("%.2f",abs($stock_info[2]))."</span></span>\n";
// Done!
fclose($local_file);
}
?>
答案 0 :(得分:2)
您必须通过支持PHP的Web服务器运行它。
答案 1 :(得分:1)
您的错误存在于第5行:
elseif ($stock_info[2]<0) { echo "color: #ff0000;\"> }
应该是
elseif ($stock_info[2]<0) { echo "color: #ff0000;\">"; }
或者
elseif ($stock_info[2]<0) { echo 'color: #ff0000;">'; }
作为一项规则,我总是竭尽所能避免逃避quotes
,这迫使我知道报价什么时候关闭或打开。例如,我宁愿做
echo "My name is '$bernard'";
//and if the " quotes are compulsory
echo 'My name is "'.$bernard.'"';
比
echo "My name is \"bernard\"";
它更干净,更容易阅读。
我没注意到URL,它是一个* .htm文件。要使代码运行,您需要通过可以处理PHP代码的服务器运行它:)
答案 2 :(得分:0)
您没有关闭此行的引号:
elseif ($stock_info[2]<0) { echo "color: #ff0000;\"> }
答案 3 :(得分:0)
发现问题 看着它说的原始网站
“如果这是stockcache目录的问题,脚本会 可能会为每个库存条目打印“0.00↑0.00”。相反,它看起来像 如果您的HTTP服务器正在吐出PHP代码而不是解析它 正常。这可能与服务器配置错误有关 页面上其他地方的冲突代码。不幸的是,我不能再多了 具体而不了解更多的上下文,例如 有问题的网页的源代码,服务器操作系统,HTTPD和PHP 版本及其配置。“
在托管帮助中查找,发现它必须允许php(如果它在html中),必须创建一个.htaccess文件,添加托管公司给我的线,与他们的短暂聊天支持问题解决了