php - 将计划的 XML 解析放入 SQL 数据库的最简单方法是什么?

标签 php mysql sql-server xml cron

所以,好吧,我在我的网站上使用 PHP,并且假设我了解相当多的 MySQL 和一点 MS SQL。 现在,我想用 PHP/USD 汇率解析一些 XML 并将其存储在数据库中。

人们能想到的最简单的方法可能是:

$XMLContent=file("http://www.webservicex.net/CurrencyConvertor.asmx/ConversionRate?FromCurrency=USD&ToCurrency=PHP");

foreach($XMLContent as $line){
$a=&strip_tags($line);
if (is_numeric($a))
{
    // output the exchange rate
    echo $a;
    // THen I would probably go like this:
    mssql_query('update table set xchange_rate='.(float)floatval($a));
    // break cycle once found;
    break;
}
}

如果由于外部 XML GET 请求而运行此脚本不需要 0.8 秒,那就完美了。

所以我想我应该使用Windows Scheduler,并运行一个任务,假设每小时更新一次记录。现在的问题是,我不知道我会使用什么脚本。我的意思是,我不能简单地使用 PHP 脚本运行浏览器 - 这将是荒谬的。

那么,让脚本/应用程序在 PHP 之外运行而不需要实际打开浏览器的最简单方法是什么。

谢谢!

编辑 好点,现在我正在Win7上测试它,但稍后它将在Windows Server(2008?)上实现。

最佳答案

php 也有一个二进制可执行解释器。在 win 上,它称为 php.exe

http://php.net/manual/en/features.commandline.php

首先从 shell 提示符处让它工作,然后为其制定计划任务。 请记住,它与通过网络服务器运行脚本时获得的 php 不同。某些设置不同,版本可能不同,并且可能使用不同的 php.ini 文件(因此可能加载不同的扩展名)。

考虑使用绝对文件路径开始,直到一切正常。

关于php - 将计划的 XML 解析放入 SQL 数据库的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10983126/

相关文章:

PHP从sql中获取某个范围内的所有日期

php - 如果您的防火墙设置阻止了 993 端口,您如何取消阻止它?

c# - MySql 查询 - 选择位置、别名和参数

sql - SQL注入(inject)攻击后更新所有SQL Server列

sql-server - SSIS 输出和 SSMS 输出中的数据大小差异

php - MySQL建表失败

php - 用 PHP 编写数据访问代码

Mysql 左连接不使用外键

Mysql 4 vs Mysql 5 插入时的自动递增字段

sql - 如何根据同一行的另一列更新各种 sql 列?