【问题标题】:How to decode XFDL to XML with PHP如何使用 PHP 将 XFDL 解码为 XML
【发布时间】:2012-02-05 06:23:27
【问题描述】:

我一直在网上搜索,试图弄清楚这一点。任何想法都会有所帮助。我正在尝试从我的服务器中获取一个 .xfdl 文件(XML 的 base64gzip)并使用 PHP 将其转换为 .xml 以进行查看和修改,但是我看不出这个过程。我见过人们尝试使用 Ruby,但我不知道任何 Ruby。如果没有人可以帮忙,我想我会学习 Ruby 哈哈哈!提前致谢。另外,我浏览了这个网站,找不到任何 php 示例。

【问题讨论】:

  • XML 是先gzip 再base64 编码吗?还是反过来?
  • @PhpMyCoder,我不确定,但我会尝试两种方式解码。

标签: php xml base64 decode xfdl


【解决方案1】:

假设先对 XML 进行 gzip 压缩,然后再进行 base64 编码,则可以使用 base64_decode()gzdecode()

echo gzdecode(base64_decode(file_get_contents('file.xfdl')));

但是,如果您不是在 Windows 机器上运行,您将 need to compile PHP with --with-zlib 包含 zlib 库和函数。

一旦您拥有 XML 格式的文件,您可能想查看 XMLReader 以了解如何在 PHP 中修改和读取 XML。

【讨论】:

  • 别笑...我不知道如何用--with-zlib 编译PHP,或者我知道但我没有正确理解你。
  • @Cod-nerd 你知道如何使用phpinfo()吗?如果您使用的是共享主机(或未编译 PHP 的主机),请尝试将此命令保存在文件中并在 Web 浏览器中查看该文件。快速搜索(Ctrl/Command + F),看看是否可以在页面上的任何位置找到 zlib。
  • 好的。我在这里看到了。如何启用它?我拉了我的 php.ini,它不在那里。
  • @Cod-nerd 如果您在 phpinfo() 中看到它,那么它可能已启用。但只是为了确保,请尝试运行 var_dump(function_exists('gzdecode')); 并查看输出结果。
  • @Cod-nerd 您是使用 PHP 运行自己的设置,还是尝试在共享主机环境中运行它?如果是后者,您需要联系您的主机,看看他们是否可以在 PHP 中启用 zlib 模块。
猜你喜欢
  • 2010-09-05
  • 2022-01-06
  • 2012-04-10
  • 2011-06-10
  • 1970-01-01
  • 2011-10-05
  • 2016-03-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多