通过cmd运行file_put_contents不会产生与浏览器相同的结果

时间:2012-08-13 01:49:40

标签: php xml

我正在尝试运行一个简单的脚本,该脚本从网站抓取xml文件并保存 在文件中,下面是函数

/* update exchange rates */
public function getLatestExchangeRates(){       
   $xml = file_get_contents("http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml"); 
   file_put_contents("xml/exchange_rates.xml", $xml);
}

echo "Update Exchange Rates <br>\n";
$scraper->getLatestExchangeRates();

在chrome中运行此脚本但在使用以下语句在cmd提示符下运行时

C:\xampp\php\php.exe -f C:\xampp\htdocs\sites\bk\update_exchange_rates.php

在控制台中给我以下错误..

warning: file_put_contents(xml/exchange_rates.xml: failed to open stream: no such file or directory in C:....

如何解决此问题?

1 个答案:

答案 0 :(得分:1)

最简单的解决方法是使用

__DIR__

全球范围内建立使用途径。

$file = __DIR__ . "/xml/exchange_rates.xml"

将为您提供当前脚本运行位置的目录,该目录将解决通过apache和命令行运行的问题。