【问题标题】:Using PHP file_get_contents with xml将 PHP file_get_contents 与 xml 一起使用
【发布时间】:2023-04-02 14:50:01
【问题描述】:

我不确定是否是我的 XAMPP 设置导致了这个问题,但是我目前有一个创建示例 XML 数据的 php 页面,如下所示:

$xml = new SimpleXMLElement('<product/>');
$xml->addChild("price", "US DOLLARS");
$xml->addChild("test","123123");
header("Content-type: text/xml; charset=utf-8");
echo $xml->asXML();

这可以完美地在屏幕上呈现 XML。但是,当我使用以下内容阅读页面时:

$xml = simplexml_load_file("api.xml");
echo $xml->price;

所以我首先使用 file_get_contents("xml.php"); 来检查文件;

但它返回 PHP 代码而不是代码的输出。 我已经通过使用 xml.php 编写一个名为 feed.xml 的文件来解决这个问题,它工作正常,但只是想知道为什么 file_get_contents("xml.php");返回代码而不是解析的输出。我只是使用了错误的方法来检查文件内容还是 xampp 的设置问题?

提前谢谢你。

【问题讨论】:

  • 因为file_get_contents - "Reads entire file into a string"。它不运行 PHP,然后包含响应。
  • 使用 CURL 会更好吗?或者只是通过 cron 运行脚本以每 15 分钟生成一次 XML?
  • 是的,这两个选项都可以解决您的问题。
  • 嗨乔,谢谢你想写这个作为答案,这样我就可以打勾作为正确答案?

标签: php xml xampp file-get-contents


【解决方案1】:

这不起作用的原因是file_get_contents 是:

...将文件内容读入字符串的首选方式。

它不运行 PHP 然后包含响应。为此,您必须生成 xml 并使用 file_get_contents 获取 xml 文件或使用 PHP 的 cURL 函数(如您所建议的那样)。

【讨论】:

  • 非常感谢您的帮助
【解决方案2】:

你需要用 http:// 指定完整的 url 否则 file_get_contents 读取本地文件

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-10
    • 1970-01-01
    • 2019-01-30
    • 2012-07-29
    • 1970-01-01
    • 2018-11-10
    • 1970-01-01
    相关资源
    最近更新 更多