【问题标题】:Get all content with file_get_contents()使用 file_get_contents() 获取所有内容
【发布时间】:2011-07-12 00:26:53
【问题描述】:

我正在尝试使用 file_get_contents() 检索包含 XML 数据的网页。

$get_url_report = 'https://...'; // GET URL
$str = file_get_contents($get_url_report);

问题在于 file_get_contents 只获取页面的安全内容并且只返回一些没有 XML 的字符串。在 Windows IE 中,如果我输入 $get_url_report,如果我想显示所有内容,它会发出警告。如果我单击是,那么它会显示 XML,这是我想要存储在 $str 中的内容。关于如何从网页 $get_url_report 将 XML 数据检索为字符串的任何想法?

【问题讨论】:

  • 您尝试过使用 html_entities 打印 $str 吗?
  • 感谢大家的cmets。我目前无法访问我的文件,但我会在明天查看并进行更新。我确实在 php.ini 中启用了 openssl。在 phpinfo() 中,它显示在 PHAR 下启用。 (我认为这是对的?)
  • @Manhim,那行得通。谢谢!

标签: php xml openssl file-get-contents


【解决方案1】:

如果 URL 正确,您应该已经获得了纯 XML。如果您遇到问题,可能是 URL 要求您登录或类似的东西。使用 var_dump($str) 然后查看该页面上的源代码,看看你得到了什么。

无论哪种方式,都没有什么神奇的方法可以从 XML 中获取任何链接的内容。您将得到的只是 XML 本身,并且需要进一步的 PHP 代码来处理并从中获取任何链接/图像/数据。

【讨论】:

  • https 已包含登录 ID 和密码(所以我只是将 ... 放在帖子中)。根据您的建议, var_dump() 显示一切都在那里,并且之前评论的 html_entities() 效果很好!
【解决方案2】:

验证是否在您的 php 上启用了 openssl,这是一个很好的示例: How to get file_get_contents() to work with HTTPS?

【讨论】:

  • 是的,我实际上是在发帖前查看了该帖子。我能够验证它是否已启用。
猜你喜欢
  • 2011-04-15
  • 2014-05-20
  • 1970-01-01
  • 1970-01-01
  • 2015-12-16
  • 1970-01-01
  • 1970-01-01
  • 2021-03-04
  • 2012-03-06
相关资源
最近更新 更多